NAME
autobox::dump - human/perl readable strings from the results of an EXPR
VERSION
Version 20090426.1746
SYNOPSIS
The autobox::dump pragma adds, via the autobox pragma, a method to normal expression (such as scalars, arrays, hashes, math, literals, etc.) that produces a human/perl readable representation of the value of that expression.
my
$foo
=
"foo"
;
$foo
->perl;
# "foo";
+(5*6)->perl;
# 30;
my
@a
= (1..3);
@a
->perl;
# [
# 1,
# 2,
# 3
# ];
{
a
=>1,
b
=>2}->perl;
# {
# "a" => 1,
# "b" => 2
# };
sub
func {
my
(
$x
,
$y
) =
@_
;
return
$x
+
$y
;
}
my
$func
= \
&func
;
$func
->perl;
#sub {
# BEGIN {
# $^H{'autobox_scope'} = q(154456408);
# $^H{'autobox'} = q(HASH(0x93a3e00));
# $^H{'autobox_leave'} = q(Scope::Guard=ARRAY(0x9435078));
# }
# my($x, $y) = @_;
# return $x + $y;
#}
You can set Data::Dumper options by passing either arrayrefs of option
and value pairs or just
keys
(in which case the option will be set to
1). The
default
options are C<
qw/Indent Terse Useqq Sortkeys Deparse/
>.
[
"a"
, 0, 1]->perl([
Indent
=> 3], [
Varname
=>
"a"
],
qw/Useqq/
);
#$a1 = [
# #0
# "a",
# #1
# 0,
# #2
# 1
# ];
You can also call the class method ->options to set a different
default
.
#set Indent to 0, but leave the rest of the options
autobox::
dump
->options([
Indent
=> 0],
qw/Terse Useqq Sortkeys Deparse/
);
[
"a"
, 0, 1]->perl;
#["a",0,1]
AUTHOR
Chas. J Owens IV, <chas.owens at gmail.com>
BUGS
Has all the issues autobox has.
Has all the issues Data::Dumper has.
This pragma errs on the side of human readable to the detriment of Perl readable. In particular it uses the terse and deparse options of Data::Dumper by default. These options may create code that cannot be eval'ed. For best eval results, set options to qw/Purity/
. Note, this turns off coderef dumping.
Please report any bugs or feature requests to http://github.com/cowens/autobox-dump/issues
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc autobox::
dump
ACKNOWLEDGEMENTS
Michael Schwern for starting the perl5i pragma which prompted me to add a feature I wanted to autobox.
COPYRIGHT & LICENSE
Copyright 2009 Chas. J Owens IV, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.