2

我正在尝试在嵌套的 for/foreach 循环中使用哈希。见来源

strict它说

Global symbol "$mapping" requires explicit package name at ./test2.pl line 39. 
Execution of ./test2.pl aborted due to compilation errors.

没有strict

Use of uninitialized value $mapping in hash element at ./test2.pl line 46, <$fh> line 8. 
Use of uninitialized value in concatenation (.) or string at ./test2.pl line 46, <$fh> line 8.

print $hashref->{$mapping}输出中为空。

错误是什么?

4

1 回答 1

8

您正在尝试使用一个$mapping不存在的名为的变量。有一个被称为%mapping有一个元素被称为$mapping{$outlook}$mapping如果它存在将是一个不相关的标量,而不是散列的一部分。

看起来你应该使用$hashref->{$mapping{$outlook}}

于 2012-07-29T00:41:58.483 回答