>>5 の方法だとスクリプトの文字コードと入出力の文字コードが異なって、毎回
変換が行われてしまい不合理

Shift-JISテキストを正しく扱う
homepage1.nifty.com/nomenclator/perl/shiftjis.htm

実際、O'Reilly本にはEncodeモジュールはほとんど紹介されていないから