我有一个散列,让我们说20个值。在perl中迭代哈希值
它的初始化是这样的:
my $line = $_[0]->[0];
foreach my $value ($line) {
print $value;
}
现在,当我试图让在$行每个哈希值,它说:在file.pl行打印 使用未初始化值的89
有没有一种方法来迭代散列的每个值?
我也试了一下:
my %line = $_[0]->[0];
foreach my $key (keys %line) {
print %line->{$key};
}
但是,这也不能正常工作: 参考发现,甚至大小列表预期file.pl在行89
任何人知道该怎么办?它应该不是那么难...
我很困惑。当然,你看起来像你已经初始化了一个标量,而不是哈希。 – Cascabel 2010-11-10 14:47:06
在你的第二个例子中,你试图使它成为一个散列,但你仍然分配一个标量 - 也许它是一个散列ref? – Cascabel 2010-11-10 14:49:08
使用Perl调试器并使用'x'命令打印出你的arglist。 – tchrist 2010-11-10 15:07:17