Data::D...:Concise(3)

okay so bestie, welcome to the Data::Dumper::Concise(3) page from User Contributed Perl Documentation β€” this is the whole manual, but make it make sense πŸ’–


✨ NAME ✨

Data::Dumper::Concise β€” less indentation and newlines plus sub deparsing. That's the whole vibe, periodt.


πŸ’– SYNOPSIS πŸ’–

okay so if you do this:

use Data::Dumper::Concise;

warn Dumper($var);

it is literally equivalent to this:

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;
  local $Data::Dumper::Trailingcomma = 1;
  warn Dumper($var);
}

so for this 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'
};

(and yeah, note the tab indentation β€” oh joy ...)

tiny but important note: that trailing comma on the last element of an array or hash is enabled by a new feature in Data::Dumper version 2.159, which was first released in Perl 5.24. Using Data::Dumper::Concise with an older version of Data::Dumper will still work, but you won't get those commas. no commas, no party, iykyk πŸŽ€

If you need to get the underlying Dumper object just call DumperObject, easy.

Also try out DumperF which takes a CodeRef 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);

🌸 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, primarily for debugging output. fr fr, it's the debugging bestie.

The principle guiding theme is β€œall the concision you can get while still having a useful dump and not doing anything cleverer than setting Data::Dumper options” β€” it's been pointed out to us that Data::Dump::Streamer can produce shorter output with less lines of code. We know. This is simpler and we've never seen it segfault. But for complex/weird structures, it generally rocks. You should use it as well, when Concise is underkill. We do. πŸ’…

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?” 😭


😀 BUT BUT BUT ... 😀

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. bestie, go off πŸ‘‘


πŸ“ SUGARY SYNTAX πŸ“

This package also provides:

  • Data::Dumper::Concise::Sugar β€” provides Dwarn and DwarnS convenience functions
  • Devel::Dwarn β€” shorter form for Data::Dumper::Concise::Sugar

πŸ¦‹ SEE ALSO πŸ¦‹

We use for some purposes, and dearly love, the following alternatives:

  • Data::Dump β€” prettiness oriented but not amazingly configurable
  • Data::Dump::Streamer β€” brilliant. beautiful. insane. extensive. excessive. try it.
  • JSON::XS β€” no, really. If it's just plain data, JSON is a great option.

πŸ‘‘ AUTHOR πŸ‘‘

mst β€” Matt S. Trout <mst@shadowcat.co.uk>


🌈 CONTRIBUTORS 🌈

frew β€” Arthur Axel "fREW" Schmidt <frioux@gmail.com>


Copyright (c) 2010 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.


okay that's the whole manual, bestie πŸ’– source/version is perl v5.42.0, date is 2017-05-16, and the footer’s manual name is Data::D...:Concise(3) β€” slay, bye! 🫢✨

πŸ“¦ where this page comes from