川合孝典です。
----- Original Message -----
>Date: Mon, 10 Sep 2007 15:57:11 +0900 (JST)
>From: wtnabe@... (ねこ丸)
>Subject: [TSperl:846] ハッシュのキーの指定方法
>To: TSperl@...
>
> ねこ丸です。
>
> またくだらない疑問なのですが教えてください。
>
> Perl で、Hash の「ある key」を指定する場合、
>
> my %hash = ();
> $hash{'key1'} = 'val'; # (i)
> $hash{key2} = 'val2'; # (ii)
>
> i と ii のどちらが正しいんでしょうか?
> どちらも正しいんでしょうか?
どちらも正しいでしょう。
今、第2版しか手元にないので第3版では確認していませんが。
プログラミング Perl 2.3.2.2 文字列リテラル(P46)に
事実、このような("${verb}able!"のような)ブレースの中の識別子は
文字列に変換される。これはハッシュの添え字に使われる単独の識別子の
場合と同様である。例えば、
$days{'Feb'}
は、
$days{Feb}
のように書いても良い。この場合、クォートがあるものと自動的に仮定される
しかし、添字にこれより複雑なものを書くと式として解釈される
とあります。
perldataにも同じような記述があるみたいですね。
perldata (perldoc.jp)
http://perldoc.jp/docs/perl/5.8.8/perldata.pod