日本語の文章を、1文字づつばらそうとして、
print join(":", split(//, $jtext));
などとすると、1バイトづつばらしてしまいうまくいきません。
(jperlではこれでうまく行きますが)
こういう場合は、
$twoBytes = '[\x8E\xA1-\xFE][\xA1-\xFE]';
$threeBytes = '\x8F[\xA1-\xFE][\xA1-\xFE]';
sub jsplit{$_[0] =~ m/($twoBytes|$threeBytes|.|\n)/og}
のような関数を作ってやり、
print join(":", jsplit($jtext));
のように使うとうまくいきます。
$twoBytesは、EUC-JP2バイト文字(いわゆる半角カナ含む)を表す
正規表現で、$threeBytesは、EUC-JP3バイト文字(G3領域と呼ばれる)
を表す正規表現です。