无法在Perl中打开文件错误

时间:2014-06-25 08:21:15

标签: perl file

为什么程序无法打开文件?即死了。我搜索了这个问题,但对我来说似乎一切都很好。 有趣的是这段代码以前工作过,我认为我从开放功能的那一刻起就没有改变一些东西。

my $i;
my $regex = $ARGV[0];

for (@ARGV[1 .. $#ARGV]){
    open (my $fh, "<", "$_") or die ("Can't open, $!");
    $i++;
    foreach (<$fh>){
        print "Given regexp: $regex\nfile$i:\n   line $.: $1\n" if $_ =~ /(\b$regex\b)/;
    }
}

输出: 无法打开不是目录

2 个答案:

答案 0 :(得分:2)

不是目录意味着您提供的参数假定非目录是目录。

例如,如果你的论点是

a/b

a

存在但不是目录,您将收到此错误。

答案 1 :(得分:1)

检查你的论点。它应该是一个正确的目录名称