我如何在Embperl中做类似‘打印Dumper $var’的事情-我做到了:
[-
$var = (some hash) ;
use Data::Dumper
print Dumper $var
-]还有这个
[+ Dumper $var +]...but无法获取任何输出。
发布于 2010-12-30 22:27:22
我通常使用Data::Dumper的Dump方法,它生成一个字符串,我可以用它做任何我想做的事情。
[! use Data::Dumper; # Only need to do once !]
[-
$var = (some hashref);
print Data::Dumper->Dump([$var, \@var2, \%var3]);
# Note that Dump takes an arrayref of SCALARs, therefore
# if you have arrays/hashes, you need to pass references to those
-]但是,请记住,在EmbPerl中,您需要注意打印位置:
要打印到Apache的错误日志,请打印到STDERR:
[-
print STDERR Data::Dumper->Dump([$var, \@var2, \%var3]);
-]若要打印到您的网页,请打印到OUT句柄,或使用[+ +] includes。如果是调试打印,我通常只将它放在HTML注释中:
<!-- DEBUG
[+ Data::Dumper->Dump([$var, \@var2, \%var3]); +]
[- print OUT Data::Dumper->Dump([$x1, $x2], ["VarName1", "VarName2"]); -]
-->发布于 2010-12-30 20:51:42
你是说Embperl吗?
如果要转储包含Data::Dumper的变量,则需要传递其引用。在您的案例中:
use Data::Dumper;
my %hashvar = (a => 1, b => 2);
print Dumper(\%hashvar);或
use Data::Dumper;
my $hashref= {a => 1, b => 2};
print Dumper($hashref);在第一种情况下,变量是一个哈希,因此您必须引用它;在第二种情况下,您有一个对哈希的引用,因此会按原样传递给Data::Dumper
https://stackoverflow.com/questions/4562574
复制相似问题