在Perl中没有任何变量检查的if子句中-e的含义

在Perl中没有任何变量检查的if子句中-e的含义,perl,Perl,我的系统中有一个现有的PERL代码,其格式如下 我不确定下面的If条款中比较的是什么。你能帮我理解一下吗 if (-e "$array_line_loc[-1]/$array_loc[-1]") { $location = 1; print "Location : $location\n"; } -e检查文件是否存在。请参见检查文件是否存在。请参见代码片段检查文件(或目录)$array\u line\u loc[-1]/$array\u

我的系统中有一个现有的PERL代码,其格式如下

我不确定下面的If条款中比较的是什么。你能帮我理解一下吗

if (-e "$array_line_loc[-1]/$array_loc[-1]")
        {
        $location = 1;
    print "Location : $location\n";
        }

-e
检查文件是否存在。请参见检查文件是否存在。请参见

代码片段检查文件(或目录)
$array\u line\u loc[-1]/$array\u loc[-1]
是否存在。如果是,则将设置
$location
,并打印
location:$location\n

通过
-1
将索引传递给数组ref,将获取最后一个元素。编写该代码段的更好方法如下:

...
use File::Spec::Functions qw[ catfile ];
...
if (-e catfile($array_line_loc[-1], $array_loc[-1])) {
...
}

该代码段检查文件(或目录)
$array\u line\u loc[-1]/$array\u loc[-1]
是否存在。如果是,则将设置
$location
,并打印
location:$location\n

通过
-1
将索引传递给数组ref,将获取最后一个元素。编写该代码段的更好方法如下:

...
use File::Spec::Functions qw[ catfile ];
...
if (-e catfile($array_line_loc[-1], $array_loc[-1])) {
...
}

-e
检查文件是否存在<代码>-e检查文件是否存在。