プロが教えるわが家の防犯対策術!

perl中級者です。

とあるPGMの修正を頼まれて行っていたのですが、
変数の定義において
print "$ABC{$DEF}\n"
という記述がありました。

$ABC$DEF や $ABC[$DEF]、 $ABC${DEF} という記述は使用しますが、
$ABC{$DEF} のような記述ってあるのでしょうか?

前後の処理は関係無しにこのような表現があるのかどうかを教えてください。
また、その場合print等で表現すると、
どのような表示になるのでしょうか?

perl:Ver4
開発環境:HP-UX

以上、よろしくお願いいたします。

A 回答 (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
となります。
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
連想配列で間違いないようです。

正直あまり使ったことのない記述ですので
頭にありませんでした。
助かりました。

お礼日時:2005/12/14 10:50

単純に中括弧を出力したいだけなのかもしれません。


その場合は、

print "$ABC\{$DEF\}\n";

ですが・・・
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/12/14 10:49

連想配列ではないですか?



http://www.google.co.jp/search?hl=ja&q=perl+%E9% …
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/12/14 10:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!