1

我有一个不寻常的要求。我有一个很大的 config /perl 文件,我想在运行之前在其中更改一个变量的值。为了避免手动查找变量并更改它的值,我想编写一个 perl 脚本来更改变量的名称。是否可以在不解析大 perl 文件的每一行、创建临时副本并覆盖旧文件的情况下做到这一点。

4

1 回答 1

1

有些东西在某个时候解析这个文件,对吧?给它一个要替换的东西的列表,你可以让它只在需要时进行替换。这避免了很大的预启动开销,如果配置文件被稀疏使用,将导致更快的整体运行。

因此,只需让读取它的东西寻找某些模式以替换它并从文件(或在命令行或环境变量中传递,或...)中查找它应该使用的值并从那里开始。

如果您无法控制解析器,那么就没有什么可做的了。您可以一次性预处理配置文件以确定替换需要的确切位置并编写更快的处理器,因为它不必对正则表达式进行任何字符串解析,只需移动一堆字节即可您的计算机可以将它们移动到具有替换位置的新文件中。

于 2013-08-06T23:52:01.887 回答