Как сделать что-то вроде 'печать Dumper $ Var' в Embperl - я это сделал:
[-
$var = (some hash) ;
use Data::Dumper
print Dumper $var
-]
и это
[+ Dumper $var +]
... но не смог получить какой-либо выход.
Как сделать что-то вроде 'печать Dumper $ Var' в Embperl - я это сделал:
[-
$var = (some hash) ;
use Data::Dumper
print Dumper $var
-]
и это
[+ Dumper $var +]
... но не смог получить какой-либо выход.
Обычно я использую метод 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
, или использовать [+ +]
. Если это отладочная печать, я обычно просто вставить его внутри HTML комментария:
<!-- DEBUG
[+ Data::Dumper->Dump([$var, \@var2, \%var3]); +]
[- print OUT Data::Dumper->Dump([$x1, $x2], ["VarName1", "VarName2"]); -]
-->
Возможно, вы имели в виду 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
Cheers - Я думаю, что это была иой вещь, которая бросала меня - новая для EmbedPerl - больше ТТОГО парня :-) – Hogsmill