Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl 如何在几个不同的文件中更新同一行?_Perl - Fatal编程技术网

Perl 如何在几个不同的文件中更新同一行?

Perl 如何在几个不同的文件中更新同一行?,perl,Perl,我有十几个Perl文件,其中有一行: my $version = "<span class=\"foottext\"><em>version 0.11</em></span>"; my$version=“0.11版”; 这是每个perl文件的第7行。我需要批量修改的元素是“X.XX”——版本号 我可以从shell(Perl)运行什么最优雅的脚本来打开每个文件,在第7行更改版本号,然后编写文件 快速浏览会发现,以下一行应该会有所帮助: perl

我有十几个Perl文件,其中有一行:

my $version = "<span class=\"foottext\"><em>version 0.11</em></span>";
my$version=“0.11版”;
这是每个perl文件的第7行。我需要批量修改的元素是“X.XX”——版本号

我可以从shell(Perl)运行什么最优雅的脚本来打开每个文件,在第7行更改版本号,然后编写文件

快速浏览会发现,以下一行应该会有所帮助:

perl -pi -w -e 's/version 0\.11/version 0.12/g;' *.pl

更一般地说,您应该避免代码重复,并将该行移到一个(单个)库文件中,该文件由十几个其他文件调用。

Perl不会在这里击败
sed
sed-ri'7s/(version)[0-9]\.[0-9]{2}/\1您的新版本/'文件
。如果你想使用更复杂的版本改变算法,那么我会使用<代码> AWK< /COD>。谢谢,我刚开始学习——我现在开始阅读调用库文件。你也可以考虑不要将演示与代码混合。将所有HTML移到某种模板系统中。