Is there a less verbose alternative to Perl's

2019-07-12 04:34发布

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?

3条回答
何必那么认真
2楼-- · 2019-07-12 04:46

You want Data::Dump :

HISTORY

The Data::Dump module grew out of frustration with Sarathy's in-most-cases-excellent Data::Dumper. Basic ideas and some code are shared with Sarathy's module. The Data::Dump module provides a much simpler interface than Data::Dumper.

Data::Printer is a more modern alternative with colored output.

查看更多
聊天终结者
3楼-- · 2019-07-12 04:58

You mean besides Data::Dumper::Concise? :)

查看更多
Emotional °昔
4楼-- · 2019-07-12 04:58

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.

查看更多
登录 后发表回答