このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
Perl 5.8 では、以下のように指定すると、
出力時に、内部表現から shift_jis に変換してくれる。
binmode STDOUT, ":encoding(shift_jis)";
Perl 5.8 の文字列は、utf-8 フラグによっては、
ただのバイト集合ではなく、「文字」列となる場合がある。
この場合、length などが返すのは文字数になる。
しかし、Perl 5.6 では、文字列はただのバイト集合だ。
この場合 length などが返すのはバイト数である。
このあたりの差異があることを考えると、
Perl 5.8 の暗黙の文字列処理を使うことはできない。
だからといって、コード変換クラスを作り、
メソッド呼びまくりでは、
既存のコードに対して大きな変更を余儀なくされる。
となると、Perl 5.6 で同様のことをするには、
ファイルハンドルに対する tie を使うしかなさそうだ。