我需要打开目录.tab
中扩展名为gor/
的所有文件,然后将这些文件用于进一步的计算。问题是,我的代码成功打开了目录并找到了这些文件,但是由于某种原因,它没有打开它们。可能是什么问题?
use strict;
use warnings;
my $dirname = "gor";
opendir(DIR, $dirname) || die "Error in opening dir $dirname\n";
my @files = grep {/tab/} readdir (DIR);
foreach my $file(@files){
print $file, "\n";
if(open(my $fh, $file)){
my @arr;
while(<$fh>){
chomp;
push @arr, $_;
}
close $fh;
print @arr;
}
}
closedir DIR;
从此代码中,我希望得到文件的名称,然后得到文件的全部内容(并在所有文件中继续),而我得到的只是文件名。在foreach
之后移动closedir
循环可以得到相同的结果。