WINDOWSでのPerl漢字処理(文字化けやエラーマッチについて)
ついにこの悩ましいPerlでの聖域(漢字処理)に手を少し出します。
WINDOWSでのPerl漢字処理のパターンは、とりあえず、私の中では以下があります。
- ソースコードは、shiftjisで書き、文字化けやエラーマッチは随時処理する。
- ソースコードは、EUC-JPで書き、滅多に起きないエラーマッチは随時処理する。
- ソースコードは、shiftjisで書き、encodingプラグマでshiftjisを指定する。
- ソースコードは、utf-8で書き、utf8プラグマを指定する。
1は、WINDOWSとしては、自然なんだけど、shiftjis自身の性質により、いろいろとご批判を頂くパターンです。
2は、UNIXでPerlだったら、自然なんだけど、WINODWSだとイマイチで、また、滅多に起きないエラーマッチ問題があります。
3は、JPerlにかわるもで、お手軽だけど副作用が大きいとのことです。
4は、Perlの方向性としては、一番いいらしいです。
1でやりたい人は、http://homepage1.nifty.com/nomenclator/perl/shiftjis.htm が参考になります。
2でやりたい人は、http://www.din.or.jp/~ohzaki/perl.htm が参考になります。
3と4でやりたい人は、http://www.rwds.net/kuroita/program/Perl_unicode.html が参考になります。
3と4の場合は、UTF8フラグという概念と内部コードと外部コードの区別が絡み合って、いろいろと悩むことになるのです(たぶん)。
なので実は、私は1でやっています。そんなに漢字を使わなければ、とりあえず今のところ大丈夫なのですが・・・。