【发布时间】:2011-11-05 01:55:20
【问题描述】:
我正在尝试创建一个顶级脚本,该脚本将调用大约 35 多个其他脚本,每个脚本都将寻求修改/创建文本文件。不是最好的做事方法,也不是最有趣的,但需要。
我使用“系统”命令调用这些脚本中的每一个,但我想知道找出每个被调用的脚本创建/修改了哪些文件的方法。
最非侵入性的方法是在运行子脚本之前和之后简单地记下工作目录中所有文件的时间戳,但我担心这可能不够健壮。
所以我想知道 Perl 中是否有一个模块/方法可以快速放入所有子脚本中,这些子脚本将捕获所有文件操作并将其作为某种返回值传递给调用脚本?
非常感谢所有帮助,非常欢迎其他想法!
干杯
【问题讨论】:
-
您可以使用 strace 运行脚本并查找 fopen 等。但是,这可能不是特别容易或健壮。
-
您可以让脚本在创建或修改文件时打印一些内容(例如
Created file: $name_of_file或Modified file: $name_of_file),然后在您的顶级脚本中打开每个脚本的输出管道并监听正确的输出。 -
这对PerlMonks 来说可能是个好问题,因为您似乎有兴趣深入了解 Perl 的内容
标签: perl