sub tc1 {
a
b
c
d
endcase
}
sub tc2
{
a
b
c
endcase
}
Я хочу вызвать подпрограмму, скажем start () после sub tc1 и вызвать stop () перед этим конечным регистром sub tc1
Я использовал эту команду
perl -i.bak -pe 'BEGIN{undef $/;} s/(sub\s+TC1[\s\n]+\{)(.*)endcase/$1\n&start();$2&stop();\nendcase/smg' file.txt
выход
sub tc1 {
&start();
a
b
c
d
endcase
}
sub tc2
{
a
b
c
stop();
endcase
}
но он изменяет последний сопоставленный шаблон конца регистра
Ожидаемый результат
sub tc1 {
&start();
a
b
c
d
&stop();
endcase
}