autobox::dump.3pm

Langue: en

Version: 2009-04-26 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

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.
     use autobox::dump;
 
     my $foo = "foo";
     print $foo->perl;   # "foo";
 
     print +(5*6)->perl; # 30;
 
     my @a = (1..3);
 
     print @a->perl;
     # [
     #  1,
     #  2,
     #  3
     # ];
 
     print {a=>1, b=>2}->perl;
     # {
     #  "a" => 1,
     #  "b" => 2
     # };
     
     sub func {
         my ($x, $y) = @_;
         return $x + $y;
     }
 
     my $func = \&func;
     print $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/>.
 
     print ["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/);
 
     print ["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 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.