NAME

Data::Dumper::Concise - Less indentation and newlines plus sub deparsing

SYNOPSIS

use Data::Dumper::Concise;

warn Dumper($var);

is equivalent to:

use Data::Dumper;
{
  local $Data::Dumper::Terse = 1;
  local $Data::Dumper::Indent = 1;
  local $Data::Dumper::Useqq = 1;
  local $Data::Dumper::Deparse = 1;
  local $Data::Dumper::Quotekeys = 0;
  local $Data::Dumper::Sortkeys = 1;
  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" } };

Data::Dumper::Concise will give you:

{
  foo => "bar\nbaz",
  quux => sub {
      use warnings;
      use strict 'refs';
      'fleem';
  }
}

instead of the default Data::Dumper output:

$VAR1 = {
	'quux' => sub { "DUMMY" },
	'foo' => 'bar
baz'
};

(note the tab indentation, oh joy ...)

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.

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, primarily for debugging output.

Why is deparsing on when the aim is concision? Because you often want to know what subroutine refs you have when debugging and because if you were planning to eval this back in you probably wanted to remove subrefs first and add them back in a custom way anyway. Note that this -does- force using the pure perl Dumper rather than the XS one, but I've never in my life seen Data::Dumper show up in a profile so "who cares?".

AUTHOR

Matt S. Trout <mst@shadowcat.co.uk>

CONTRIBUTORS

None required yet. Maybe this module is perfect (hahahahaha ...).

COPYRIGHT

Copyright (c) 2009 the Data::Dumper::Concise "AUTHOR" and "CONTRIBUTORS" as listed above.

LICENSE

This library is free software and may be distributed under the same terms as perl itself.