我在 perl 文件中有一个哈希(我们称之为 test2.pl),如下所示:
our %hash1;
my %hash2 = {
one => ($hash1{"zero1"}, $hash1{"one1"} ),
two => ($hash1{"one1"}, $hash1{"two1"} ),
three => ($hash1{"two1"}, $hash1{"three1"}),
four => ($hash1{"three1"}, $hash1{"six1"} ),
five => ($hash1{"six1"}, $hash1{"one2"} ),
six => ($hash1{"one2"}, $hash1{"two2"} ),
last => ($hash1{"two2"}, $hash1{"last1"} ),
};
这有 6 个Use of uninitialized value in anonymous hash ({}) at test2.pl line 7.
错误(文件中的第 7 行对应于该my %hash2
行,所有错误都说第 7 行)。
我只能假设这是因为%hash1
在另一个调用该文件的文件(test1.pl)中定义。我认为使用our
足以定义它。我是否必须初始化哈希中的所有变量才能使其工作?
(我在括号中使用了括号,our
因为我在那里声明了其他变量。)