String 如何在搜索字符串后在Perl中重复一行三次

String 如何在搜索字符串后在Perl中重复一行三次,string,perl,String,Perl,我想在文件中搜索字符串.march\u endSP,然后用 .march_endSP(march_end), .serial_in_ctlr(serial_in_ctlr) , .memsafe(memsafe) , .mem_atpg_mode(mem_atpg_mode) , .tst_gatedclock(tst_gatedclock) , 在同一个文件中,如何执行此操作 这是我的密码 .march_endSP_1(march_end) .march_endSP_2(march_end

我想在文件中搜索字符串
.march\u endSP
,然后用

.march_endSP(march_end),

.serial_in_ctlr(serial_in_ctlr) ,
.memsafe(memsafe) ,
.mem_atpg_mode(mem_atpg_mode) ,
.tst_gatedclock(tst_gatedclock) ,
在同一个文件中,如何执行此操作

这是我的密码

.march_endSP_1(march_end)
.march_endSP_2(march_end)
.march_endSP_3(march_end)
while(我的$line=){
而($line=~/-number\u of\u SP\u mem\u supp\s(\d+)/g){
my$first=$1;
#打印“$first\n”;
my@a=(1..$first);
foreach(@a){
打印(“$”,“\n”);
}
}
但是我无法使用它。

如果(我的($tail)=$line=~/^\.march\u endSP)(.*)/){
为1..3打印(“.march\u endSP\u$\ u$tail\n”);
}否则{
打印(行);
}
while (my $line = <FH>) {
  while ( $line =~ /-number_of_SP_mem_supp\s(\d+)/g ) {
   my $first = $1;
   #print "$first\n";
   my @a = (1..$first);
   foreach(@a){
    print("$_","\n");
}
  }