Perlのファイル内の特定の文字セットを置き換えようとしていますが、機能していないようです。これが私のコードです。
my $file = shift;
open(FILE, "$file") or die "File not found";
while (<FILE>){
$data .=$_
}
$data =~ s/[^A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}\s?[0-9]{2}\s?[0-9]{2}\s[0-9]{2}\s?[A-DEM]{0,1}$/XX012345X/g;
パターンマッチングが文字のセットを見つけるために機能することは知っていますが、置換が機能するかどうかは完全にはわかりません。しかし、私の主な関心事はPerlコードです。ファイルを実行した後も、ファイルは変更されません。
サンプルファイル。
AB123456C Ab12345678 DG657465 GH123456FG