半角全角ちょっとつけたし
センセーショナルな見出しにしたためか,なんかアクセス数がこれまでにくらべてすごいことになってました。びっくり。何人かトラバなさってましたがトラックバックオフにしてるんで表示されないですね。ごめんなさい。ということで,手動トラバ。
アルファベットについては
use utf8; $str =~ tr/a-zA-Z/a-zA-Z/;とかやってましたよ。普通に。
〜〜〜中略〜〜〜
あー、いや、Encode::JP::H2Zとかあります。んでも、Encode::JP::H2Zってeuc-jpでやってるのですな……。utf8でやらない理由って何かあるのかな?
ご説明ありがとうございます。
「Jcode.pm の h2z は,一度 EUC コードに変換してから全角半角変換してるんで」のくだりはまさに Encode::JP::H2Z についてのことでした(ちなみに今あらためて見てみたら Jcode::_Classic が使う Jcode::H2Z のほうもやっぱり EUC でした)。でも Encode::JP::H2Z って perldoc がそっけなさすぎじゃないですか?
あと,昨日書いた「元の jcode.pl が云々」というのは勘違いでした。
- なんとなく Jcode.pm は歌代氏作の jcode.pl を元に作成されたと勘違い
- jcode.pl が EUC じゃないとハンドルしてくれないのが h2z, z2h だと勘違い(正解は tr)
らへんの勘違いがもとで適当に憶測を書いてしまいました。ということで utf8 でやらない理由は… dan 氏に聞かないとわかりませんが,推測としては,Jcode::_Classic (Encode 使わない版)用の H2Z を Encode::JP::H2Z に流用したからじゃないでしょうか。Jcode::_Classic で EUC にしているのは,旧 Perl と EUC-JP の相性のよさとパフォーマンスを重視した結果ではないかと憶測。