Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/garu/data-printer
colored pretty-print of Perl data structures and objects
https://github.com/garu/data-printer
debug perl pretty-print variable-dumps
Last synced: about 22 hours ago
JSON representation
colored pretty-print of Perl data structures and objects
- Host: GitHub
- URL: https://github.com/garu/data-printer
- Owner: garu
- Created: 2011-01-20T07:19:36.000Z (almost 14 years ago)
- Default Branch: main
- Last Pushed: 2024-07-31T00:11:14.000Z (5 months ago)
- Last Synced: 2024-12-14T17:03:27.743Z (8 days ago)
- Topics: debug, perl, pretty-print, variable-dumps
- Language: Perl
- Homepage:
- Size: 6.79 MB
- Stars: 100
- Watchers: 25
- Forks: 81
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Changelog: Changes
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
Data::Printer
=============[![Coverage Status](https://coveralls.io/repos/garu/Data-Printer/badge.png)](https://coveralls.io/r/garu/Data-Printer)
[![CPAN version](https://badge.fury.io/pl/Data-Printer.png)](http://badge.fury.io/pl/Data-Printer)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:
------------```perl
my $data = get_some_data_from_somewhere();
...
use DDP; p $data; # <-- pretty-prints $data's content to STDERR
```![See Data::Printer in action](https://raw.githubusercontent.com/garu/Data-Printer/master/examples/ddp.gif)
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.Please refer to [Data::Printer's complete documentation](https://metacpan.org/pod/Data::Printer)
for details on how to customize the output to your needs. Or (after installation) type:perldoc Data::Printer
To view the complete docs on your terminal.
Installation
------------To install this module via cpanm:
> cpanm Data::Printer
Or, at the cpan shell:
cpan> install Data::Printer
If you wish to install it manually, download and unpack the tarball and
run the following commands:perl Makefile.PL
make
make test
make installOf course, instead of downloading the tarball you may simply clone the
git repository:$ git clone git://github.com/garu/Data-Printer.git
Thank you for using Data::Printer! Please let me know of potential issues,
bugs and wishlists :)LICENSE AND COPYRIGHT
---------------------Copyright (C) 2011-2024 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.See http://dev.perl.org/licenses/ for more information.