X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FData%2FDumper%2FConcise.pm;h=5beb1a54be0b71f6b3d209456b0361d46d05a9a8;hb=92264889a0f278aa61cdee48aef484496fb6e5ce;hp=66ab409bf9919168c5f2ac356180a14d553e0cb4;hpb=739397239c2f69a006bfcaa8a6d418c611cd34b8;p=p5sagit%2FData-Dumper-Concise.git diff --git a/lib/Data/Dumper/Concise.pm b/lib/Data/Dumper/Concise.pm index 66ab409..5beb1a5 100644 --- a/lib/Data/Dumper/Concise.pm +++ b/lib/Data/Dumper/Concise.pm @@ -2,25 +2,24 @@ package Data::Dumper::Concise; use 5.006; -$VERSION = '1.000'; +$VERSION = '2.012'; require Exporter; require Data::Dumper; BEGIN { @ISA = qw(Exporter) } -@EXPORT = qw(Dumper); - -my $USAGE = 'Dumper() to get an object or Dumper($ref) to dump a reference please'; +@EXPORT = qw(Dumper DumperF); sub Dumper { - die $USAGE if @_ > 1; my $dd = Data::Dumper->new([]); $dd->Terse(1)->Indent(1)->Useqq(1)->Deparse(1)->Quotekeys(0)->Sortkeys(1); - return $dd unless @_; - my $ref = $_[0]; - die $USAGE unless ref($ref); - return $dd->Values([ $ref ])->Dump; + return $dd->Values([ @_ ])->Dump; +} + +sub DumperF (&@) { + my $code = shift; + return $code->(map Dumper($_), @_); } =head1 NAME @@ -46,20 +45,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" } }; @@ -78,18 +63,28 @@ 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 ...) +Also try out C which takes a C as the first argument to +format the output. For example: + + use Data::Dumper::Concise; + + warn DumperF { "result: $_[0] result2: $_[1]" } $foo, $bar; + +Which is the same as: + + warn 'result: ' . Dumper($foo) . ' result2: ' . Dumper($bar); + =head1 DESCRIPTION This module always exports a single function, Dumper, which can be called -with a single reference value to dump that value or with no arguments to -return the Data::Dumper object it's created. +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, @@ -115,6 +110,14 @@ Yes, we know. Consider this module in the ::Tiny spirit and feel free to write a Data::Dumper::Concise::ButWithExtraTwiddlyBits if it makes you happy. Then tell us so we can add it to the see also section. +=head1 SUGARY SYNTAX + +This package also provides: + +L - provides Dwarn and DwarnS convenience functions + +L - shorter form for Data::Dumper::Concise::Sugar + =head1 SEE ALSO We use for some purposes, and dearly love, the following alternatives: @@ -127,15 +130,15 @@ L - no, really. If it's just plain data, JSON is a great option. =head1 AUTHOR -Matt S. Trout +mst - Matt S. Trout =head1 CONTRIBUTORS -None required yet. Maybe this module is perfect (hahahahaha ...). +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