Perl-需要反复调用system('diff')

Duk*_*eto 2 perl diff system

我有一个批处理系统,需要一遍又一遍地运行相同的shell命令。

while (x)
{
  if (y)
  {
    $diff = `diff $f1 $f2`;
    ...
  }
  else
  {
    ...
...
Run Code Online (Sandbox Code Playgroud)

这有点慢,所以我想知道是否有某种方法可以使Shell或程序具有持久性(或其他),以免每次都没有很大的开销。

注意,我不能真正考虑编写自己的diff函数,因为实际输出看起来就像是来自该程序。

提前致谢!

dus*_*uff 6

我想知道是否有某种方法可以使Shell或程序具有持久性(或其他方式),以免每次都没有很大的开销。

并不是的。diff本质上是一种一次性工具;它没有任何持久模式。

不过,您可能想看看的是Text :: Diff模块。它可以生成与diff实用程序相同格式的输出。