我在一些Perl代码中找到了以下内容:
if (! -e $options{"inPath"}){
$logger->fatal("Directory \'$options{\"inPath\"}\' does not exist.\n");
}
-e
声明中的if
有什么作用?
答案 0 :(得分:3)
请参阅Perl file tests文档网站中的online perl。如果文件-e '/foo'
存在,/foo
将返回true。
如果您的系统中安装了perldoc,也可以从命令行访问它。
perldoc -f -X
答案 1 :(得分:3)
perldoc unary
运算符-e
检查文件是否存在。
Perldoc一元文件测试运算符列表:
-r File is readable by effective uid/gid.
-w File is writable by effective uid/gid.
-x File is executable by effective uid/gid.
-o File is owned by effective uid.
-R File is readable by real uid/gid.
-W File is writable by real uid/gid.
-X File is executable by real uid/gid.
-O File is owned by real uid.
-e File exists.
-z File has zero size (is empty).
-s File has nonzero size (returns size in bytes).
-f File is a plain file.
-d File is a directory.
-l File is a symbolic link (false if symlinks aren't
supported by the file system).
-p File is a named pipe (FIFO), or Filehandle is a pipe.
-S File is a socket.
-b File is a block special file.
-c File is a character special file.
-t Filehandle is opened to a tty.
-u File has setuid bit set.
-g File has setgid bit set.
-k File has sticky bit set.
-T File is an ASCII or UTF-8 text file (heuristic guess).
-B File is a "binary" file (opposite of -T).
-M Script start time minus file modification time, in days.
-A Same for access time.
-C Same for inode change time (Unix, may differ for other
platforms)