ハッシュキーの内容について
こんばんは。perlをはじめて一ヶ月あまりの初心者です。
また疑問に思うことが見つかり、質問させていただきました。
以下のようなコードがあります。
-----------------------------------------
my @array = ( 'a','b','c');
my %hash;
for (@array) {
$hash{$_}{OK} = 1;
$hash{$_}{WAVE} = 2;
$hash{$_}{Perl} = 3;
}
print $hash{a}->{OK};
print $hash{"b"}->{WAVE};
print $hash{c}->{"Perl"};
-----------------------------------------
1、2、3を格納するときなのですが、
ハッシュのキーになる値(OK、WAVE、Perl)は、
ダブルクォートや、シングルクォートで囲っていません。
でも、エラーも発生せず、普通に実行できてしまいます("123"を表示します)。
ハッシュのキーは、
"OK","WAVE"や、'Perl'のように
ダブルクォートや、シングルクォートで
囲む必要はないのでしょうか??
C言語みたいに厳密に型が決まっているわけではないので、
OKでも"OK"でもよいのかなー、という思いはあるのですが、、、
よろしくお願いします。
お礼
参考にさせていただきます。しかし混線が理由のひとつとは。