私は次のように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
(そこで宣言した他の変数があるので、角かっこを使用しています。)