Data::Printer is a Perl module to
pretty-print Perl data structures and objects in full color,
in a way that is properly formatted to be inspected by a human.
Basic Usage:
my$data = get_some_data_from_somewhere();
...
use DDP; p $data; # <-- pretty-prints $data's content to STDERR
Main features:
Variable dumps designed for easy parsing by the human brain, not a machine;
Highly customizable, from indentation size to depth level.
You can even rename the exported p() function!
Beautiful (and customizable) colors to highlight variable dumps and make
issues stand-out quickly on your console. Comes bundled with several themes
for you to pick.
Filters for specific data structures and objects to make debugging much,
much easier. Includes filters for several popular classes from CPAN like
JSON::*, URI, HTTP::*, LWP, Digest::*, DBI and DBIx::Class, printing what
really matters to developers debugging code. It also lets you
create your own custom filters easily.
Lets you inspect information that's otherwise difficult to find/debug
in Perl 5, like circular references, reference counting (refcount),
weak/read-only information, even estimated data size - all to help you
spot issues with your data like leaks without having to know a lot about
internal data structures or install heavy-weight tools like Devel::Gladiator.
keep your custom settings on a .dataprinter file that allows
different options per module being analyzed! You may also create a custom
profile class with your preferences and filters and upload it to CPAN.
output to many different targets like files, variables or open handles
(defaults to STDERR). You can send your dumps to the screen or anywhere
else, and customize this setting on a per-project or even per-module basis,
like print everything from Some::Module to a debug.log file with extra info,
and everything else to STDERR.
Easy to learn, easy to master. Seriously, what you already know cover
about 90% of all use cases.
Works on Perl 5.8 and later Because you can't control where
you debug, we try our best to be compatible with all versions of Perl 5.
Best of all? No non-core dependencies, Zero. Nada. so don't worry about
adding extra weight to your project, as Data::Printer can be easily
added/removed.
Thank you for using Data::Printer! Please let me know of potential issues,
bugs and wishlists :)
LICENSE AND COPYRIGHT
Copyright (C) 2011-2021 Breno G. de Oliveira
This program is free software; you can redistribute it and/or modify it
under the terms of either: the GNU General Public License as published
by the Free Software Foundation; or the Artistic License.
请发表评论