perl - Perl 中的 if( -f <filename> ) 有什么作用?

标签 perl file

我遇到了这行代码:

if( -f <filename> ) { ... }
-f似乎测试文件名是否存在,但我不确定。到目前为止,谷歌搜索没有帮助(很难用谷歌搜索“-f”),我的 Perl 书籍也没有。

任何人都可以请指教吗?

最佳答案

perlfunc .

它列出了所有 Perl 内置函数,包括“文件测试”函数:

-X FILEHANDLE
-X EXPR
-X DIRHANDLE
-X

哪里-X是以下之一:

-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.
-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 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)

关于perl - Perl 中的 if( -f <filename> ) 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6172957/

相关文章:

java - 从不同的方法写入同一个文件

java - 尝试在 Java 中构建

python - 用相对路径打包数据

linux - 如何在 Linux 中终止后台 while 循环?

linux - 解析输出并计算字符串出现的次数

python - 在基于 Intel 的 64 位 Mac(Perl/Python 用户)上安装 MySQL 32 位或 64 位更好吗?

ruby - 如何在 Ruby 中创建 root 拥有的文本文件?

Python 错误 "IOError: [Errno 2] No such file or directory"但文件在那里

perl - 为什么 "use namespace::autoclean"比 "no Moose"更受欢迎?

regex - 用 Perl 标记逗号