如何记录Perl中就地编辑期间所做的更改?

Gle*_*ark 2 perl logging replace file find

我编写了一个简单的ksh,它调用Perl程序来查找和替换文件.传入的arg是主目录:

 perl -pi -e 's/find/replace/g' $1/*.html
Run Code Online (Sandbox Code Playgroud)

它很棒.但是,我想将所有更改输出到日志文件.我已经尝试过管道和重定向,但却无法使其正常工作.有任何想法吗?

谢谢,格伦

run*_*rig 8

像这样将所有更改发送到STDERR:

perl -pi -e '$old = $_; s/find/replace/g and warn "${ARGV}[$.]: $old $_"; close ARGV if eof' $1/*.html
Run Code Online (Sandbox Code Playgroud)

更新:固定$.在多个文件上.