my $input ="//commentA \n   var1 = 3 ; //commentB \n   varx = 8 ;";
my $src_regex = qr/((\n\s+)var1\s=[^;]+;.*)\n/;
my $dest = "\$1\$2varp = 5;\n";

$input =~ s/$src_regex/$dest/sg;

$1,$2を変数の中に入れると置換されないのは 仕様?