Вам может понадобиться что-то вроде
chomp(my $line = $_);
if ($line eq "a") {
$_ = "diff1\ndiff2\ndiff3\n";
}
Я предполагаю, что вы не chomp
ed так что $_
по-прежнему 3-й с новой строкой. Вам нужно захватить текст, который следует за «а», чтобы вы могли использовать его повторно:
if (/^(\s*)a(\[.*)/) {
$_ = "${1}diff1$2".
"${1}diff2$2".
"${1}diff3$2;
}