while (<>){
$_ =~ s/(PAT)/$1/g;
}
とか
for (@foo) {
$_ =~ s/(PAT)/$1/g;
}
してるんなら、$_には読みこんだ一行しか入ってないから。
$/ = ''でもしとけ。

つか、全然正規表現じゃねーだろ。青らくだかって勉強しろボケ。