如果我使用-e选项来检查文件是否存在,则Perl命令失败

时间:2015-11-16 10:35:31

标签: perl

我的Windows机器上安装了perl版本v5.8.3。 在运行具有以下代码的perl脚本时,失败。

if(-e $file1)

我知道这会检查file1是否存在。 错误刚刚显示“perl命令失败”。没有其他的。 能帮到我吗

1 个答案:

答案 0 :(得分:2)

您使用的是2004年的Perl版本。您应该认真考虑升级。

-e这样的文件测试运算符已经成为Perl的一部分很长一段时间了。它们肯定得到Perl 5.8.3的支持。

你说你的错误是“perl命令失败”。这不是由Perl生成的错误,因此我怀疑此处还有其他事情你没有告诉我们(大概是因为你觉得它不重要)。

如果我不得不猜测为什么你的-e测试失败了,我会说这是因为$file1不包含有关可以找到文件的目录的任何信息,因此Perl正在寻找错误的地方。也许您可以使用以下代码获取更多信息:

use Cwd;

if (-e $file1) {
  ...
} else {
  die "Can't find file: " . cwd() . '/' . $file1;
}

这将显示Perl查找文件的位置。