open関数とUTF8フラグとRedHatLinux9と
Perlのバージョンが5.8.0で、RedHatLinuxのデフォルトのlocaleがen_US.UTF-8になってるとopen関数で開いたファイルに自動的にUTF8フラグをつけようとするという罠があることがわかった。
ま、3引数のopen関数を使うか、Encodeモジュールをきちんと使うか、Localeをきちんと設定しておけば起きないんですが。
教訓としては、
- Perlのバージョンは最新にしとけ
- 2引数のopenは使うな
- Encodeモジュール使え
ということで。。。