Perl - 需要一遍又一遍地调用 system('diff')

Perl - Need to call system('diff') over and over

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

while (x)
{
  if (y)
  {
    $diff = `diff $f1 $f2`;
    ...
  }
  else
  {
    ...
...

这有点慢,所以我想知道是否有某种方法可以使 shell 或程序持久化(或其他),这样它就不会每次都有很大的开销。

请注意,我真的不能考虑编写自己的 diff 函数,因为实际输出需要看起来确实来自该程序。

提前致谢!

I'm wondering if there's some way to make the shell or program persistent (or something) such that it doesn't have the big overhead every time.

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

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