• 締切済み

うまく変数を当てられない?

フォーム部分を作成中です。 画像が設定されたフォルダにあり、それを選択すると言うことをしたいと思っています。また、以下は修正画面です。 ディレクトリ内のファイルを読み込みoptionに設定ですよね。で、以下のようにやってみました。 foreach $line (@data) { ($nt1,$nc1,$nt2,~~) = split(/<>/,$line); chomp; $e_nt1 = $nt1; $e_nc1 = $nc1;     ~~ } #繰り返し用ナンバー設定 $no = 0; #以下を6回繰り返し while($no<6){ $no++; print "<TR>\n"; print "<TD rowspan=\"3\" bgcolor=\"#999999\"></TD>\n"; print "<TD>\n"; #select開始 print "<SELECT size=\"1\" name=\"nt$no\">\n"; #ディレクトリオープン opendir(DIR , $celdir);  while($view = readdir(DIR)){ # $viewの内容と過去データが一緒なら「selected」をつける   if($view eq ${"nt$no"}){$sel = selected;}    print "<OPTION value=\"$view\" $sel>$view</OPTION>\n";  } print "</SELECT></TD></TR>\n"; print "<TR>\n"; print "<TD><IMG src=\"../../image/menu/${\"e_nt$no\"}\"></TD>\n"; print "</TR>\n"; print "<TR>\n"; print "<TD><INPUT type=\"text\" name=\"nc$no\" size=\"60\" value=\"${\"e_nc$no\"}\"></TD>\n"; print "</TR>\n"; print "<TR>\n"; print "<TD></TD>\n"; print "<TD><BR>\n"; print "</TD>\n"; print "</TR>\n"; } これで、以前選んだ画像名には「selected」が付くと思ったのですが、ファイルが無い「..」と「.」と言うものに「selected」が付いています。 これはどう修正したらいいでしょうか?

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

よくわからないんだけど, $nt? に '.' とか '..' が入っていることはないんだよね? ・そもそも当該ディレクトリ中のディレクトリって表示させる必要ないんだから -f で弾く. ・もしくは画像ファイルの拡張子がわかっていればそれでファイル名をチェックする. ・'.' と '..' を特別扱いする. の 3通りくらい? 全然関係ないんですが, シンボリックリファレンスを使うのを止めてみてはどうでしょうか. 無駄に見にくくしてるだけのような気がします. あと, 上の foreach の中の chomp の意味がよくわかりません.

master-3rd
質問者

お礼

返答ありがとうございました。 方法が良くわからなかったので、別の方法で解決しました

すると、全ての回答が全文表示されます。

関連するQ&A