JPerl からひさしぶりに Perl な世界でよくわかりませんが >>4 の

binmode STDIN => ":encoding(cp932)"; 
binmode STDOUT => ":encoding(cp932)"; 

が

use encoding "cp932";

でも、いいような気がしるけど、いまいち理解できてないです…