Perl-需要反复调用系统(';diff';)

Perl-需要反复调用系统(';diff';),perl,system,diff,Perl,System,Diff,我有一个批处理系统,需要反复运行同一个shell命令 while (x) { if (y) { $diff = `diff $f1 $f2`; ... } else { ... ... 这有点慢,所以我想知道是否有某种方法可以使shell或程序持久化(或其他什么),这样它就不会每次都有很大的开销 请注意,我不能真正考虑编写我自己的差异/代码>函数,因为实际输出需要看起来像是来自那个程序。 提前谢谢 我想知道是否有某种方法可以使shell或程序持久化(

我有一个批处理系统,需要反复运行同一个shell命令

while (x)
{
  if (y)
  {
    $diff = `diff $f1 $f2`;
    ...
  }
  else
  {
    ...
...
这有点慢,所以我想知道是否有某种方法可以使shell或程序持久化(或其他什么),这样它就不会每次都有很大的开销

<>请注意,我不能真正考虑编写我自己的<代码>差异/代码>函数,因为实际输出需要看起来像是来自那个程序。

提前谢谢

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

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


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

算法::diff用于Text::diff,它是用Perl编写的。不会的faster@ikegami还有@ikegami,如果文件都很小,在进程中运行比较可能仍然是一种改进。如果OP是在启动进程缓慢的操作系统(如Windows)上,则情况尤其如此。