cpan Data-Printer 0.99_001

latest releases: 1.002001, 1.002000, 1.001001...
pre-release6 years ago

- new format for the .dataprinterrc file


- Data::Printer::Object available for public usage!
  (big thanks to frew && rjbs)
- use DDP; p $foo, as => 'this is a label';
  Hopefully this helps people tag their debug code without having
  to write caller_info => 1, caller_message => '...'
- theme => 'XXX' will try and load Data::Printer::Theme::XXX,
  which you can create to share your colour scheme with the world!
- speaking of colours, you can now use up to 256 of them
  (if your terminal supports them, of course)
- print only a slice of arrays and hashes with:
   - array_max => 10 (default is 50, set it to 0 for unlimited)
   - array_overflow => '(...skipping __SKIPPED__ items...)'
   - array_preserve => 'begin'
     if the array has more than array_max elements, preserve the first
     array_max elements and replace the rest with '(...skipping XX items...)'.
     Other available options are 'end', 'middle', 'extremes', and 'none'.
   - hash_max / hash_overflow / hash_preserve (same! note however that
     preserved keys will only be the same if hash keys are sorted)
     Defaults to 50.
- ignore_keys to skip their dump (feature by Eugen Konkov)
- string_max/string_overflow/string_preserve to limit string entries (scalars),
  just like arrays and hashes. Defaults to 1024 and 'begin'. Set it
  to 0 for unlimited size.
- new 'separator', 'brackets' and 'overflow' colors to control
- unicode_charnames, when set to 1 (together with escape_chars)
  will try and use the Unicode name when escaping strings.
  So `$s = "\x{2603}"; p $s` will output "\N{SNOWMAN}"
- show_refcount => 1 exposes the reference count for the data structure
  (and inner data) if the count is greater than 1. (default 0, showing no refcounts).
- show_memsize => 1 shows the (approximated) amount of memory the variable
  occupies for all variables on that level. This means that '1' will show
  the size of the entire data structure, while 2 will also show sizes of
  inner data, 3 will go even deeper and so on. To get the size of everything,
  use 'all' - though usually you'll probably want to just use '1'.
  This requires Devel::Size, so the default is 0 for none.
- memsize_unit defined in which unit to show the memory usage. Can be
  set to 'b'(ytes), 'k'(ilobytes), 'm'(egabytes) or 'auto' (the default).
- new property 'format_inheritance', defaults to "lines", a shiny and much
  clearer new way to displays methods per inherited package. You may also
  set it to 'string' to preserve the old behaviour.
- inheritance tree is considered when filtering objects unless you disable
  it with 'parent_filters => 0' (Ovid)
- new option 'stringify' (default: 1) will return the stringified version
  of the object, if one is available. It will try overloaded strings/numbers,
  as_string() and stringify() calls, respectively. Note that this will efectivelly
  ignore all other class details you may have chosen.
  (Sergey Aleynikov, Benct Philip Jonsson)
- new option show_overloads (default: 1) will list all overloads
  from the object's class.
- the standard class filter is now able to show internals in blessed subs
- support for faster natural sorting via Sort::Key::Natural
  if the user has it installed (feature request by @grr on github)


- fix array subelement alignment when index is shown (GARU)
- show UNIVERSAL in linear ISA if it's on (GARU)
- use "\n" instead of $/ as default line separator (Håkon Hægland && Chung-Kuan Tsai)
- less magic added to internal Perl representation of variables
  (Jarrod Funnell, Sergey Aleynikov, Michael Conrad, Nicolas R.)
- show_methods is now independent from show_inherited, meaning you can
  check all inherited methods and no local ones, or any combination thereof.
  This is the expected behaviour from the documentation, but was not happening.

Don't miss a new Data-Printer release

NewReleases is sending notifications on new releases.