如何在Embperl中执行类似'print Dumper $ var'的操作

Hog*_*ill 0 perl embperl

如何在Embperl中执行类似'print Dumper $ var'的操作 - 我这样做了:

[-
$var = (some hash) ;
use Data::Dumper
print Dumper $var
-]
Run Code Online (Sandbox Code Playgroud)

还有这个

[+ Dumper $var +]
Run Code Online (Sandbox Code Playgroud)

......但无法获得任何输出.

DVK*_*DVK 5

我通常使用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
-]
Run Code Online (Sandbox Code Playgroud)

但是,请记住,在EmbPerl中,您需要小心打印:

要打印到Apache的错误日志,请打印到STDERR:

[-
print STDERR Data::Dumper->Dump([$var, \@var2, \%var3]);
-]
Run Code Online (Sandbox Code Playgroud)

要打印到您的网页,打印以OUT处理或使用[+ +]包含.如果它是调试打印,我通常只是将其粘贴在HTML注释中:

<!-- DEBUG
[+ Data::Dumper->Dump([$var, \@var2, \%var3]); +]
[- print OUT Data::Dumper->Dump([$x1, $x2], ["VarName1", "VarName2"]); -]
-->
Run Code Online (Sandbox Code Playgroud)