【发布时间】:2010-11-10 23:59:45
【问题描述】:
我有一个哈希值,比如说 20 个值。
它是这样初始化的:
my $line = $_[0]->[0];
foreach my $value ($line) {
print $value;
}
现在,当我尝试获取 $line 中每个散列的值时,它会说: 在 file.pl 第 89 行的 print 中使用未初始化的值
有没有办法遍历哈希的每个值?
我也试过了:
my %line = $_[0]->[0];
foreach my $key (keys %line) {
print %line->{$key};
}
但这也行不通: 在第 89 行的 file.pl 中找到了预期大小均匀的列表的参考
有人知道该怎么做吗?应该没那么难……
【问题讨论】:
-
我很困惑。当然在我看来你已经初始化了一个标量,而不是一个哈希。
-
在第二个示例中,您尝试将其设为哈希,但您仍在分配标量 - 也许它是哈希引用?
-
使用 Perl 调试器并使用
x命令打印出您的 arglist。