7

所以我用来查看变量内容的方式是在我的模板工具包中使用 Data::Dumper:

[% 使用自卸车 %]
[% Dumper.dump(varname) %]

但是我得到的结果有点乱——所有关于表关系、列类型和属性等的信息。

我想知道是否有一种方法可以获取“干净”的变量内容-仅在查询的当前结果+相关结果集(即,当我将 php 与 cakephp 框架一起使用时,有一个“调试(varname)”命令它提供了这样的结果,看起来像这样http://pastebin.com/Hut0LnAb)。

4

2 回答 2

9

数据::打印机来救援!它的对象转储更易于阅读:

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,
    }
}

它与模板工具包兼容:

[% 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;
于 2012-11-13T10:34:40.173 回答
0

你可以用

 [% Dumper.dump_html(variable) %]

请参阅: http ://template-toolkit.org/docs/modules/Template/Plugin/Dumper.html

于 2012-11-21T00:45:22.683 回答