我试图打开并读取目录中文件的内容。我可以访问该目录并获取文件列表。但是我收到错误,如无法打开并读取文件内的内容。请帮助
#usr/bin/perl
my $dir='d:\task';
opendir DIR,$dir or die "cannot open directory";
while (my $file = readdir(DIR))
{
next if ($file =~ m/^\./);
print " $file \n";
open(my $fh,'<',$file) or die "unable to open the $file ";
while(my $row=<$fh>)
{
chomp $row;
print "$row";
}
}
答案 0 :(得分:1)
您在目录的上下文中看到了文件名,而您可能正在运行其他目录中的代码。
要打开文件,您需要预先添加目录路径:
open (my $in, '<', "$dir/$file") or die "Cannot open file for input: $!\n";