所以,我需要解析一个文件,如果有匹配的模式,用一些东西替换它:
while(<$ifh>) {
s/(.*pattern_1*)/$1\nsome more stuff/ ;
s/(.*pattern_2*)/$1\neven more stuff/;
s/(.*pattern_3.*)// ;
# and so on ...
print $ofh $_;
}
问题:在文件中包含此正则表达式规则列表的最简单方法是什么(类似于 sed '-f' 选项)?
编辑:也许我需要澄清一下。我们需要在单独的文件中包含正则表达式规则(而不是在解析的文件中 - 虽然这很好,谢谢!),所以它们不是硬编码的。所以,基本上外部文件应该由's//'行组成。当然,这可能可以通过 foreach 循环和 eval 来完成,甚至可以通过对 sed 的外部调用来完成,但我想可能会有更好的东西。
问候, Wojtek