+ -
当前位置:首页 → 问答吧 → 怎样遍历文件夹且读取每个文件?

怎样遍历文件夹且读取每个文件?

时间:2011-01-05

来源:互联网

本帖最后由 小雪淇淇 于 2011-01-05 15:46 编辑

新手  请教各位大虾!
我已经知道遍历文件
#!/usr/bin/perl -w
use warnings;
my $DIR_PATH="a";
opendir DIR, ${DIR_PATH} or die "Can not open \"$DIR_PATH\"\n";
@filelist = readdir DIR;


foreach $file (@filelist) {
  open(IN,"a/$file")or die "cannot open";
  while(<IN>){略}
  close IN;
}


但是foreach里面想读取这些文件怎么办?
foreach里面的都是我自己编的
我想把这些文件每一个都做一遍省略的程序,就是每个文件都读一遍,但是错误是IN打不开文件
不胜感激……

作者: 小雪淇淇   发布时间: 2011-01-05

print  <IN>;

作者: lkk2003rty   发布时间: 2011-01-05



QUOTE:
新手  请教各位大虾!
我已经知道遍历文件
#!/usr/bin/perl -w
use warnings;
my $DIR_PATH="a";
ope ...
小雪淇淇 发表于 2011-01-05 15:29




>>但是错误是IN打不开文件   

foreach $file (@filelist) {
  #  $file有可能是目录, ".", ".." 应该是无法open的
  # 你要自己检查一下
  if( -f $file){
    ...
  }
}

作者: jason680   发布时间: 2011-01-05

回复 jason680


    不是啊!
  如果只打开一个,比如open IN ,"a/$file[3]";
   就是没问题的!

作者: 小雪淇淇   发布时间: 2011-01-05

改下open那句, 看是什麽原因打不開文件, 權限不夠嗎
  1. open(IN,"a/$file")or die "cannot open, $!";
复制代码

作者: wind_ch   发布时间: 2011-01-05



QUOTE:
回复  jason680


    不是啊!
  如果只打开一个,比如open IN ,"a/$file[3]";
   就是没问题的!
小雪淇淇 发表于 2011-01-05 16:27




又没有@file数组那来 $file[3]...见鬼了

作者: jason680   发布时间: 2011-01-05

XX重复做车轮,我记得learning perl上说过类似这样一句话

作者: homedw   发布时间: 2011-01-05

热门下载

更多