1

我希望-M $_是负数,但它为零:

perl -E 'qx(touch $_), sleep(5), say -M for "/tmp/file"'

perldoc是否提到了这种行为?

4

1 回答 1

2

我认为这解释了你所看到的

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
于 2015-06-16T13:12:31.453 回答