• ベストアンサー

変数の定義について

perl中級者です。 とあるPGMの修正を頼まれて行っていたのですが、 変数の定義において print "$ABC{$DEF}\n" という記述がありました。 $ABC$DEF や $ABC[$DEF]、 $ABC${DEF} という記述は使用しますが、 $ABC{$DEF} のような記述ってあるのでしょうか? 前後の処理は関係無しにこのような表現があるのかどうかを教えてください。 また、その場合print等で表現すると、 どのような表示になるのでしょうか? perl:Ver4 開発環境:HP-UX 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

現在は、ハッシュといわれていますが、かつては連想配列といわれていました。 これは、配列の添え字として文字をつかうことが、出来る特殊な配列です。 たとえば、 A君の年齢=16 住所=SHINJUKU B君の年齢=18 住所=SHIBUYA とすると ------------------ $nenrei{"A"} = 16; $nenrei{"B"} = 18; $jusho{"A"} = "SHINJUKU"; $jusho{"B"} = "SHIBUYA"; $name = "A"; #A君の名前 print "名前:$name"," 年齢:$nenrei{$name}"," 住所:$jusho{$name}","\n"; $name = "B"; #B君の名前 print "名前:$name"," 年齢:$nenrei{$name}"," 住所:$jusho{$name}","\n"; --------------------------- を実行すると 名前:A 年齢:16 住所:SHINJUKU 名前:B 年齢:18 住所:SHIBUYA となります。

kal1119
質問者

お礼

早速のご回答ありがとうございます。 連想配列で間違いないようです。 正直あまり使ったことのない記述ですので 頭にありませんでした。 助かりました。

その他の回答 (2)

回答No.2

単純に中括弧を出力したいだけなのかもしれません。 その場合は、 print "$ABC\{$DEF\}\n"; ですが・・・

kal1119
質問者

お礼

早速のご回答ありがとうございます。 どうやら連想配列のようです。 参考になりました、、、

  • tessyu
  • ベストアンサー率53% (59/110)
回答No.1
kal1119
質問者

お礼

早速のご回答ありがとうございます。 どうやらそれっぽいです。 助かりました。

関連するQ&A