5

ただ興味があります: この次のスニペットでダンパーの 2 番目の形式を実行する方法はありますか?

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 "}]"
4

1 に答える 1

7

ドキュメントを引用する:

引数リストのサブルーチンを使用してDumper()を呼び出そうとしないでください。

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

フィルタは括弧で混乱します。あなたの作者はこれを修正しようとしていましたが、Dumper()がサブルーチンからの戻り値に名前を付ける方法を理解する方法がないことが明らかになり、それによってさらなる破損が確実になりました。だからそうしないでください。

于 2012-06-01T08:10:17.133 に答える