68user's page 掲示板

Prev< No. 1043> Next  [最新発言に戻る] [過去ログ一覧]
No. 1043 # yuji 2000/08/02 (水) 09:15:28
どうも、ご無沙汰しております、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);
}

Prev< No. 1043> Next  [最新発言に戻る] [過去ログ一覧]