我需要用数据填充一些数组并将其转储到屏幕上。 这是代码:
my @a;
@a[0] = 69;
foreach $sibling ($someotherlist){
my $cha = $sibling->{"id"} * 1;
if (defined @a[$cha]){
@a[$cha] = 0;
}
@a[$cha] = @a[$cha] + 1;
}
print Dumper(@a);
问题是它只打印$ VAR1 = 69;
它应该是这样的:
$VAR1 = {
0 => 69,
1 => 30,
20 => 90
}
答案 0 :(得分:5)
始终将references
与Data::Dumper
一起使用,所以
print Dumper(\@a);
见
答案 1 :(得分:1)
您可能希望安装Data::Printer
,可以在命令行中使用DDP
别名作为-MDDP
或use DDP;
在应用程序中使用。在你的情况下:
use DDP;
... # [rest of script]
p @a ;
Data::Dumper
仍然是标准,但DDP
非常实用且易于配置。颜色和闪亮的东西以及p()
快捷方式: - )使DDP
易于用作"可视化辅助工具"用于数据结构。
答案 2 :(得分:0)
我已经成为了
的忠实粉丝use JSON;
warn to_json(\%data,{canonical=>1,pretty=>1});
即使打字很乱。