0

Embperlで「 printDumper $var」のようなことを行うにはどうすればよいですか?私はこれを行いました:

[-
$var = (some hash) ;
use Data::Dumper
print Dumper $var
-]

この

[+ Dumper $var +]

...しかし、出力を取得できませんでした。

4

2 に答える 2

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
-]

ただし、EmbPerlでは、印刷する場所に注意する必要があることに注意してください。

Apacheのエラーログに出力するには、STDERRに出力します。

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

Webページに印刷するにはOUT、ハンドルに印刷するか、インクルードを使用し[+ +]ます。デバッグ印刷の場合、通常はHTMLコメント内に貼り付けます。

<!-- DEBUG
[+ Data::Dumper->Dump([$var, \@var2, \%var3]); +]
[- print OUT Data::Dumper->Dump([$x1, $x2], ["VarName1", "VarName2"]); -]
-->
于 2010-12-30T14:27:21.707 に答える
1

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);

最初のケースでは、変数はハッシュであるため、その参照を取得する必要があります。2番目の例では、ハッシュへの参照があるため、そのまま渡されます。Data::Dumper

于 2010-12-30T12:51:41.797 に答える