问题
I'm trying to print some parse trees, and Data::Dumper
is very verbose for that, for example printing:
{
'A' => {
'ID' => 'y'
},
'OP' => '=',
'B' => {
'NUM' => '5'
}
},
rather than let's say:
{
'A' => {'ID' => 'y'},
'OP' => '=',
'B' => {'NUM' => '5'}
},
and it's very hard to read since it take massive number of lines.
Is there any Perl library which does what Data::Dumper
does except more tersely, or do I need to write my own?
回答1:
You want Data::Dump :
HISTORY
The
Data::Dump
module grew out of frustration with Sarathy's in-most-cases-excellentData::Dumper
. Basic ideas and some code are shared with Sarathy's module. TheData::Dump
module provides a much simpler interface thanData::Dumper
.
Data::Printer is a more modern alternative with colored output.
回答2:
You mean besides Data::Dumper::Concise? :)
回答3:
If using $Data::Dumper::Indent is not enough, you may like to try JSON or YAML module families, if you only need data to be human-readable (i.e. for debugging). Their format is close enough to Perl's own to read easily and they have many formatting options.
来源:https://stackoverflow.com/questions/11261854/is-there-a-less-verbose-alternative-to-perls-datadumper