📄 subst.pl
字号:
use strict;
my $fname = $ARGV[0];
my @prepattern = split(/!!/, $ARGV[1]);
my @pattern = split(/!!/, $ARGV[2]);
my @subst = split(/!!/, $ARGV[3]);
foreach my $f (@prepattern)
{
#print "*$f\n";
}
open(IN, "$fname") or die "subst error $fname: $!\n";
my @lines;
my @backup;
my $matchcount = 0;
while(<IN>)
{
if($matchcount < @prepattern)
{
if(/$prepattern[$matchcount]/)
{
++$matchcount;
# print ">$_";
}
else
{
$matchcount = 0;
}
push(@lines, $_);
}
else
{
if($matchcount < @pattern + @prepattern)
{
my $patcount = $matchcount - @prepattern;
if(/$pattern[$patcount]/)
{
++$matchcount;
push(@backup, $_);
# print "--$_";
}
else
{
push(@lines, @backup);
push(@lines, $_);
@backup = ();
$matchcount = 0;
}
}
else
{
push(@lines, "/*S60 installer change - start*/\n");
foreach my $s (@subst)
{
push(@lines, "$s\n");
}
push(@lines, "/*S60 installer change - end*/\n");
@backup = ();
$matchcount = 0;
push(@lines, $_);
}
}
}
close(IN);
#exit;
open(OUT, ">$fname") or die "subst error $fname: $!\n";
print OUT @lines;
close(OUT);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -