open (IN, 'kouji_2000.csv') or die "$!"; open (CITY, 'chiba_cityname.txt') or die "$!"; open (OUT, '>kouji_2000_city.csv') or die "$!"; # 市町村の名前を配列に格納 @city = ; # 市町村データの改行コードの除去 for ($i=0; $i<@city; $i++) { chomp ($city[$i]); } # 公示地価ファイルの各行の住所データの置き換え while () { # 各行をカンマ区切りで分割 @data = split(/,/, $_); # 空白の除去 $data[0] =~ s/( | )+//g; $data[2] =~ s/( | )+//g; # 千葉がつくデータ名の変更 #例:千葉中央->中央、千葉栄->栄 $data[0] =~ s/千葉//; # 市町村名と各データの第1列とのマッチング foreach $cityname (@city) { if ($cityname =~ /$data[0]/) { # 元々の住所データ print "$data[2] -> "; $data[2] = $cityname . $data[2]; # 変換後の住所データ print "$data[2]\n"; # ループの脱出 last; } } # 各行をカンマ区切りで連結させてファイルへ出力 print OUT join (',', @data); } close (IN); close (CITY); close (OUT);