嗨,我是 perl 的初学者。我遇到了这个声明并阅读了 Stackoverflow 中的一些答案,这些答案说它检查非零文件大小。请解释一下。
问问题
153 次
2 回答
2
解释涵盖了-s
运营商,仅此而已。它返回文件的大小;如果它为空,则数字零在布尔上下文中被解释为假,而任何非零数字都为真。
print "has contents" if -s "/path/to/file";
是!
一个否定,&&
是逻辑“和”;因此,当文件为空或其他条件为假或两者兼而有之时,整个表达式为真。(记住德摩根定律;!(x&y)等价于!x | !y。)
于 2016-09-11T16:38:47.907 回答
0
-s
返回文件的大小。perl 中的零被视为错误(类似于c)。如果将所有这些放在一起,这是检查给定文件是否为空的一种速记方法。
于 2016-09-11T16:36:17.307 回答