Data :: Dumper ::简单用法

时间:2012-06-01 08:00:36

标签: perl data-dumper

只是感兴趣:在下面的代码片段中有没有办法做第二种形式的Dumper?

use Modern::Perl;
use Data::Dumper::Simple;

my $data = { name => 'jim', age => 21, updated => time() };

my $timestr = localtime($data->{updated});
say Dumper($data->{updated}, $timestr);
# output:
# $data->{updated} = 1338537112;
# $timestr = 'Fri Jun  1 08:51:52 2012';

say Dumper($data->{updated}, scalar localtime($data->{updated} ));

# compiliation error:
# say (...) interpreted as function at c:\temp\test4.pl line 9.
# syntax error at c:\temp\test4.pl line 9, near "}]"

1 个答案:

答案 0 :(得分:7)

引用the docs

  

不要尝试使用参数列表中的子例程调用Dumper():

     

Dumper($foo, some_sub()); # Bad!

     

过滤器被括号弄糊涂了。你的作者要去   修复此问题,但很明显Dumper()没办法   可以弄清楚如何命名子程序的返回值,   从而确保进一步破损。所以不要这样做。