-l在Perl中的if子句中做了什么

Bra*_*roy 0 perl if-statement

我正在查看一些Perl代码,我得到了这个部分:

foreach (@somevar) {
  if (-e "$_/$anothervar") {
      $boolflag=1;
      last;
  }
}
Run Code Online (Sandbox Code Playgroud)

但我无法弄清楚-e的用途.我认为后来的字符串是一条路径(从它的结构中得出),但据我所知,正在发生的事情.

我在Perl帮助中寻找-e,但我不明白-e这个定义如何在if子句中起作用.

-e program        one line of program (several -e's allowed, omit programfile)
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

你看错了定义.这是perl可执行文件的命令行开关的描述.

你需要看到-Xperldoc:

文件测试,其中X是下面列出的字母之一.这个一元运算符接受一个参数,可以是文件名,文件句柄或dirhandle,并测试相关文件以查看是否有关于它的内容.

...

-e  File exists.
Run Code Online (Sandbox Code Playgroud)