У меня есть хэш в файле 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
как есть и другие переменные, я объявивший там.)
@fxzuz Я объяснил в нижней части моего сообщения, почему я использовал скобки вокруг% hash1 после нашего ... Я понимаю, что, с одной стороны, они вам не нужны. – dgBP
'use warnings' дал бы вам понять, в чем проблема. –