什么'!-e"/ etc/httpd"在Perl中的'if'条件

Sac*_*lla 5 linux perl

请解释以下代码段在Perl脚本中可以执行的操作,

if (! -e '/etc/httpd') {
   print "Something";
}
Run Code Online (Sandbox Code Playgroud)

我无法找到使这种情况"真实"的确切情景或条件.这个问题也没有解释太多.

究竟是什么-e开关在这种情况下做了什么?

zdi*_*dim 10

-e filename是一个文件测试(" - X"),它检查是否存在"文件"(条目,而不仅仅是普通文件).

因此,条件测试是否/etc/httpd不存在,因为一元运算!使用Perl的真值和虚假规则对其右侧的内容进行逻辑否定.