kbr*_*bro 9 perl symlink high-resolution stat
我想重现ls --full-timePerl脚本的输出,以避免调用ls数千次的开销.我希望使用stat函数并从那里获取所有信息.但是,ls输出中的时间戳使用高分辨率时钟,因此它也包括纳秒数(根据GNU文档,这是因为--full-time相当于--format=long --time-style=full-iso,并且完全iso时间样式包括纳秒).
我遇到了Time :: HiRes模块,该模块覆盖标准stat函数,其中一个返回atime/mtime/ctime作为浮点数,但是没有覆盖lstat.这是一个问题,因为在符号链接上调用stat会返回链接文件的信息,而不是链接本身的信息.
所以我的问题是 - 我在哪里可以找到一个版本的lstat以与Time :: HiRes :: stat相同的方式返回atime/mtime/ctime?如果失败了,是否有另一种方法可以以高分辨率获取符号链接的modtime(除了调用ls).
您最好的选择是要求lstat将其添加到Time::HiRes中。事实上,你也许可以自己做。我敢打赌你需要做的就是复制启动的函数
void
stat(...)
Run Code Online (Sandbox Code Playgroud)
in HiRes.xs,更改为stat(...)& lstat(...),添加到in ,然后重新编译。然后提交补丁,以便其他人受益。OP_STATOP_LSTATlstat@EXPORT_OKHiRes.pm
| 归档时间: |
|
| 查看次数: |
847 次 |
| 最近记录: |