-M 脚本开始时间减去文件修改时间,以天为单位

-M Script start time minus file modification time, in days

我希望 -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