所以我用来查看变量内容的方法是在我的模板工具包中使用Data :: Dumper:
- [% USE Dumper %]
- [% Dumper.dump(varname) %]
但是我得到的结果有点乱 – 关于表关系,列类型和attrbitues等的所有信息.
我想知道是否有办法获得一个’干净的’变量内容 – 因为只有查询的当前结果是相关的结果集(即当我使用带有cakePHP框架的PHP时,有一个’debug(varname)’命令提供了这样的结果,看起来像这个http://pastebin.com/Hut0LnAb).
解决方法
Data::Printer来救援!
它的对象转储更易于人类阅读:
它的对象转储更易于人类阅读:
- my $obj = SomeClass->new;
- p($obj);
- # produces:
- \ SomeClass {
- Parents Moose::Object
- Linear @ISA SomeClass,Moose::Object
- public methods (3) : bar,foo,Meta
- private methods (0)
- internals: {
- _something => 42,}
- }
它与Template Toolkit兼容:
- [% USE DataPrinter %]
- html-formatted,colored dump of the same data structure:
- [% DataPrinter.dump_html( myvar ) %]
它“知道”如何处理DBIx :: Class:
- use Data::Printer
- filters => {
- -external => [qw[DB]],# use DB filter
- },class => {
- expand => 2,# traverse object 2-levels deep
- linear_isa => 0,# hide not-so-relevant information
- };
- ...
- my $obj = $schema
- ->resultset('AddressState')
- ->search({},{ prefetch => [qw[country]] })
- ->single;
- p $obj;