X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FData%2FDumper%2FConcise.pm;h=5e588264cf27a2efae33901940df90910d352921;hb=f717f5934bee3df4d972b7c7bf40d170127fb859;hp=3f7111c3941cb2bd704fc48270da8fda4048c152;hpb=7e7c5754783215e8964b61b6e0dff51084db3590;p=p5sagit%2FData-Dumper-Concise.git diff --git a/lib/Data/Dumper/Concise.pm b/lib/Data/Dumper/Concise.pm index 3f7111c..5e58826 100644 --- a/lib/Data/Dumper/Concise.pm +++ b/lib/Data/Dumper/Concise.pm @@ -2,20 +2,25 @@ package Data::Dumper::Concise; use 5.006; -$VERSION = '1.100'; +$VERSION = '2.020'; require Exporter; require Data::Dumper; BEGIN { @ISA = qw(Exporter) } -@EXPORT = qw(Dumper); +@EXPORT = qw(Dumper DumperF DumperObject); -sub Dumper { +sub DumperObject { my $dd = Data::Dumper->new([]); $dd->Terse(1)->Indent(1)->Useqq(1)->Deparse(1)->Quotekeys(0)->Sortkeys(1); - return $dd unless @_; - return $dd->Values([ @_ ])->Dump; +} + +sub Dumper { DumperObject->Values([ @_ ])->Dump } + +sub DumperF (&@) { + my $code = shift; + return $code->(map Dumper($_), @_); } =head1 NAME @@ -41,20 +46,6 @@ is equivalent to: warn Dumper($var); } -whereas - - my $dd = Dumper; - -is equivalent to: - - my $dd = Data::Dumper->new([]) - ->Terse(1) - ->Indent(1) - ->Useqq(1) - ->Deparse(1) - ->Quotekeys(0) - ->Sortkeys(1); - So for the structure: { foo => "bar\nbaz", quux => sub { "fleem" } }; @@ -73,26 +64,30 @@ Data::Dumper::Concise will give you: instead of the default Data::Dumper output: $VAR1 = { - 'quux' => sub { "DUMMY" }, - 'foo' => 'bar + 'quux' => sub { "DUMMY" }, + 'foo' => 'bar baz' }; (note the tab indentation, oh joy ...) -=head1 DESCRIPTION +If you need to get the underlying L object just call C. -This module always exports a single function, Dumper, which can be called -with an array of values to dump those values or with no arguments to -return the Data::Dumper object it's created. Note that this means that +Also try out C which takes a C as the first argument to +format the output. For example: + + use Data::Dumper::Concise; - Dumper @list + warn DumperF { "result: $_[0] result2: $_[1]" } $foo, $bar; -will probably not do what you wanted when @list is empty. In this case use +Which is the same as: - Dumper \@list + warn 'result: ' . Dumper($foo) . ' result2: ' . Dumper($bar); -instead. +=head1 DESCRIPTION + +This module always exports a single function, Dumper, which can be called +with an array of values to dump those values. It exists, fundamentally, as a convenient way to reproduce a set of Dumper options that we've found ourselves using across large numbers of applications, @@ -146,7 +141,7 @@ frew - Arthur Axel "fREW" Schmidt =head1 COPYRIGHT -Copyright (c) 2009 the Data::Dumper::Concise L and L +Copyright (c) 2010 the Data::Dumper::Concise L and L as listed above. =head1 LICENSE