我希望-M $_
是负数,但它为零:
perl -E 'qx(touch $_), sleep(5), say -M for "/tmp/file"'
perldoc是否提到了这种行为?
我认为这解释了你所看到的
perl -E 'say "START TIME",$^T; qx(touch $_), sleep(5), say -M for "/tmp/file"; say "STAT ON FILE", (stat(_))[9]'
当我运行它时输出
START TIME1434460114
0
STAT ON FILE1434460114
1) 脚本启动 $^T 设置为 1434460114
2) 几乎立即生成文件“/tmp/file”,修改时间为 1434460114
3) 休眠 5 秒
4) -M 报告文件的修改时间和脚本开始时间的差为零
试试这个
perl -E 'say "START TIME",$^T; sleep(5),qx(touch $_), say -M for "/tmp/file"; say "STAT ON FILE", (stat(_))[9]'
在我的系统上输出
START TIME1434460296
-5.78703703703704e-05
STAT ON FILE1434460301