- ベストアンサー
ハッシュについて
今、CGI作りに挑戦しているものです。 $data{a0} = "文字列"; とハッシュに「文字列」を入れて、 $sign = '0'; print "$data{a$sign}"; とやって、 「文字列」を表示させようとしたのですが、 Can't call method "a" without a package or object reference at test.cgi line *. と表示されて、「文字列」を表示できません。 ご教授いただけますようお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ハッシュの添え字にそのような指定はできないみたいですね。 このように、 $sign = '0'; $name = "a$sign"; print "$data{$name}"; あらかじめ "a0" となる文字列を変数に格納しておき、それを使用するのがよろしいかと。
その他の回答 (1)
- ttyp03
- ベストアンサー率28% (277/960)
回答No.2
print文の使用方法を次のようにすれば指定可能でした。 print $data{$name}; ダブルクォーテーションで囲ってしまうとダメみたいですね。
お礼
そうですか。。 出来ないのですか。 もうすこしだけ、別の方法を考えることにします。 >あらかじめ "a0" となる文字列を変数に格納しておき、それを使用するのがよろしいかと。 というのは、訳があってできないのですが、それをヒントになにか浮かびそうです。 私ごときにご教授いただきありがとうございます。