どうも、ご無沙汰しております、yujiです。(^^) 今、指定されたディレクトリ以下のファイル一覧を表示させたい、 と考えているのですが、再帰関数を使った場合、 ファイルハンドルがグローバルのため、値の上書きになって しまい、うまくいかないようです。ローカルなファイルハンドルというのは、できるんでしょうか?myやlocalで試してはみたのですが。(^^; なにかよい方法は、ないでしょうか。 また、$home/$fileのカタチで出力する場合、どのようにするのがよいでしょうか? "$home/$file"とすると、/$で変数ではなく文字として解釈されると 思うのですが。"$home/".$fileとして逃げたりしているんですが。(^^; こちらのほうでも、別の方法などありましたら、よろしくお願いします。 #!/usr/bin/perl GetFiles("."); exit(0); sub GetFiles(){ local($dir)=@_; print "In $dir\n"; opendir(DIR,$dir); while($file=readdir(DIR)){ if(-d $file && $file ne '.' && $file ne '..'){ &GetFiles($file); }else{ if($file ne '.' && $file ne '..'){print "$file\n";} } } close(DIR); } |