perl';s int(-M$file)怎么办?
我正在查看一些较旧的perl代码,我可以看到有人正在使用以下方法比较目录中各种文件的时间戳:perl';s int(-M$file)怎么办?,perl,file,Perl,File,我正在查看一些较旧的perl代码,我可以看到有人正在使用以下方法比较目录中各种文件的时间戳: int(-M $filename); 这到底是做什么的?我查看了文档中的int()条目,没有找到关于-M标志的任何信息。这是一个文件测试操作符 -X文件句柄 -X EXPR -X DIRHANDLE -X 文件测试,其中X是下面列出的字母之一。此一元运算符接受一个参数,即filename、filehandle或dirhandle,并测试关联的文件以查看其是否正确。如果省略了参数,则测试$\uuu,除
int(-M $filename);
这到底是做什么的?我查看了文档中的
int()
条目,没有找到关于-M
标志的任何信息。这是一个文件测试操作符
-X文件句柄
-X EXPR
-X DIRHANDLE
文件测试,其中-X
是下面列出的字母之一。此一元运算符接受一个参数,即filename、filehandle或dirhandle,并测试关联的文件以查看其是否正确。如果省略了参数,则测试X
,除了测试$\uuu
,后者测试-t
。除非另有说明,否则它返回STDIN
表示真,返回1
表示假。如果文件不存在或无法检查,它将返回'
并设置unde
$代码>(错误号)。尽管名称很有趣,但优先级与任何其他命名的一元运算符相同。操作员可以是以下任何人:
... 31. -M Script start time minus file modification time, in days.
它是其中之一,int()只是将结果转换为整数。准确地说,它是
脚本开始时间减去文件修改时间,以天为单位perldoc-f-M
(或参见)进一步澄清,-M
不是int()的“标志”。这就像int(age\u of($bob))
可能会将bob的年龄四舍五入到最接近的整数age\u of
不是int()
的“标志”-相反,
的age\u的输出成为int()
的输入。