所以我用来查看变量内容的方法是在我的模板工具包中使用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;