Html 如何仅将perl文件中带有特定单词的代码行复制到新文件中

Html 如何仅将perl文件中带有特定单词的代码行复制到新文件中,html,file,perl,Html,File,Perl,我有一个perl文件,其中包含一个子例程中的html代码。我想将html代码复制到一个新文件中,但只复制html代码,而不复制其余的perl语法。HTML代码都在一个子例程中,所有HTML代码都以“push”开头: sub getTable { push @htmlBase, qq(<html>\n); push @htmlBase, qq(\n); push @htmlBase, qq(<head>\n); push @htmlB

我有一个perl文件,其中包含一个子例程中的html代码。我想将html代码复制到一个新文件中,但只复制html代码,而不复制其余的perl语法。HTML代码都在一个子例程中,所有HTML代码都以“push”开头:

sub getTable {    
    push @htmlBase, qq(<html>\n);
    push @htmlBase, qq(\n);
    push @htmlBase, qq(<head>\n);
    push @htmlBase, qq(<meta http-equiv="Content-Language" content="en-us">\n);
sub-getTable{
推送@htmlBase,qq(\n);
推送@htmlBase,qq(\n);
推送@htmlBase,qq(\n);
推送@htmlBase,qq(\n);

从本质上讲,如何仅将以“push”开头的行从当前perl文件复制到新文件中?请提前感谢。

如果您使用的是类似unix的操作系统,请尝试使用grep。例如:

$ grep 'push' myfile.pl | grep -Po '(?<=qq\().*(?=\);)' >Newfile.html

$grep'push'myfile.pl | grep-Po'(?使用perl对文件进行grep:

perl -lne'm/push.+qq\((.+)?(\\n)\);/ && print $1' source.pl > target.html
对于您显示的输出,这一行程序将起作用


如果源脚本更复杂,例如多行语句和嵌入变量,则需要编写一些临时代码来调用
getTable
,打印
@htmlBase
的内容,然后将输出保存到新文件中。

将子例程复制到另一个文件中,并添加代码以调用该子例程并打印脚本两个数组。运行新文件。