perl – 以干净的方式查看变量内容

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

相关文章

1. 如何去重 #!/usr/bin/perl use strict; my %hash; while(...
最近写了一个perl脚本,实现的功能是将表格中其中两列的数据...
表的数据字典格式如下:如果手动写MySQL建表语句,确认麻烦,...
巡检类工作经常会出具日报,最近在原有日报的基础上又新增了...
在实际生产环境中,常常需要从后台日志中截取报文,报文的形...
最近写的一个perl程序,通过关键词匹配统计其出现的频率,让...