0
ハッシュへの参照があるときに、ハントにキーが存在するかどうかを確認するにはどうすればよいですか?以下は、(専門知識の私のレベルで)単純で明白なように見えたが、予想以上に他の何かを出力します:ハッシュの中にキーが存在し、ハッシュのために機能しないのはなぜですか?
%simple = (a => 8, b=> 9);
print 0+exists $simple{a}, 0+exists $simple{c}, "\n"; # prints 10
%href = \%simple;
print 0+exists $href{a}, 0+exists $href{c}, "\n"; # expect fail; bad syntax
print 0+exists $href->{a}, 0+exists $href->{c}, "\n"; # should work
print 0+exists ${$href}{a}, 0+exists ${$href}{c}, "\n"; # should work
print 0+exists $$href{a}, 0+exists $$href{c}, "\n"; # not sure
# see if attempt to ask about {c} accidently created it
print %simple, "\n";
これは私が期待し
10
00
00
00
00
a8b9
をプリントアウト(非常に楽観的である):
10
10
10
10
10
a8b9
を
私が働こうとしたすべての方法は期待していませんが、少なくとも1つはすべきです。私はperldoc、その他の質問、グーグル・グーグルを行ってきました。私が思いつくのは、これらの行のいくつかで使っている構文がうまくいくということです。
ああ、私は前にそのブービーを作りました。はい、非常に短い実験であっても、厳密で警告は良好です。 – DarenW
AKA 'Use Modern :: Perl' – Dynamic