Chinaunix

标题: 怎么实现遍历目录操作啊 [打印本页]

作者: wg5    时间: 2003-04-26 14:59
标题: 怎么实现遍历目录操作啊
急,求助:!!
作者: deathcult    时间: 2003-04-28 01:10
标题: 怎么实现遍历目录操作啊
use File::Find module
作者: terminate    时间: 2003-05-06 01:06
标题: 怎么实现遍历目录操作啊
use File::Find
作者: apile    时间: 2003-05-06 10:48
标题: 怎么实现遍历目录操作啊
#!/usr/bin/perl
&find_dir("/";
sub find_dir(){
  local($dir) = @_;
  opendir(DIR,"$dir";
  local @files =readdir(DIR);
  closedir(DIR);
  for $file (@files){
    next if($file=~m/\./ || $file =~m/\.\./);
    next unless(-d "$dir/$file";
    print "--$dir directory $file\n";
    print "----Inside directory $dir/$file\n";
    open_dir("$dir/$file";
  }
}

不用File::Find moudle的方式...
這兒只是一個找尋所有目錄的例子...
你自己加上你要找的檔名就 ok了...
作者: whn3375    时间: 2003-05-07 16:15
标题: 怎么实现遍历目录操作啊
1. it seems the last line should be like "find_dir("$dir/$file";"
2.  I tried the usual way like "&find_dir("/";", it works very well. But, if change it into "&find_dir("~whn/";" or "&find_dir("/public/home/whn/";" or anything like these, get nothing. why?


THANKS!
作者: apile    时间: 2003-05-08 08:36
标题: 怎么实现遍历目录操作啊
有可能是因為無法開啟目錄造成的...
1.該目錄並不存在所以你可在
opendir(DIR,"$dir" || die "can't open !";
這樣子就可以知道有沒有成功開啟目錄
~whn/ 對於opendir而言並不認識...
2.該目錄下沒有任何其它的子目錄...
"&find_dir("/public/home/whn/";"
這個目錄下可能沒有任何目錄存在..




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2