プロが教える店舗&オフィスのセキュリティ対策術

CGIを改造しようと何とかがんばってます。
ハッシュから確答するものを表示したいのですが、うまく出来ません。

まずは、別ファイルにリストを保存しています。

%jlist = (
11 => '項目1',
12 => '項目2',
13 => '項目3',
14 => '項目4',
~~
);
そして、ログファイルには数字が保存されています。
$genre←11から99までの数字が保存

これをwhileで繰り返し表示するリストにちゃんと項目名を表示させたいのですが、うまく出来ません。

foreach $key (keys(%jlist)){
 if($key eq $genre){
 print "[$value]\n";
 }
}

とてつもなく変なことをしているかもしれませんが、どのようにしたら解決できるか教えてください。

A 回答 (1件)

項目名を表示させる部分が



  print "[$value]\n";

となっていますが、$value に項目名を代入している部分がありません。
項目名は %jlist の $key の値ですから、表示前に

  $value = $jlist{$key};

と代入するか、直接

  print "[$jlist{$key}]\n";

と表示するようにします。
    • good
    • 0
この回答へのお礼

ありがとうございました。
ばっちりできました!

お礼日時:2005/08/26 17:26

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