連想配列のキー

連想配列のキーの値は文字列しかとりえないから、連想配列のキーに当たるものはクォーテーションマークの有無にかかわらず文字列リテラルとして扱う豪胆な仕様。

サンプル


# クォーテーションマークがあったりなかったりmy $a = { name => "kkkkkkkk\n", 1 => "20060606\n" };
my $b = { 'name' => "kkkkkkkk\n", '1' => "20060606\n" };

print $a->{name};
print $a->{'name'};
print $a->{1};
print $a->{'1'};

print $b->{name};
print $b->{'name'};
print $b->{1};
print $b->{'1'};

実行結果

kkkkkkkk
kkkkkkkk
20060606
20060606
kkkkkkkk
kkkkkkkk
20060606
20060606

この融通無碍さ。こんなところで融通利かせてどうするのかという気もするが…。