2012年3月28日

ひらがな・カタカナ変換

ひらがなをカタカナに、カタカナをひらがなにそれぞれ変換するperlスクリプト。
これをOS Xのサービスに入れておくと便利かも。

ひらがな→カタカナ
use utf8;
binmode STDOUT, ':utf8'; 
binmode STDERR, ':utf8'; 
binmode STDIN, ':utf8';
while (<>) {
 tr/ぁ-ゖ/ァ-ヶ/;
 s/わ゙/ヷ/;
 s/ゐ゙/ヸ/;
 s/ゑ゙/ヹ/;
 s/を゙/ヺ/;
 tr/ゝゞ/ヽヾ/;
 s/ゟ/ヨリ/;
 print $_;
}

カタカナ→ひらがな
use utf8;
binmode STDOUT, ':utf8'; 
binmode STDERR, ':utf8'; 
binmode STDIN, ':utf8';
while (<>) {
 tr/ァ-ヶ/ぁ-ゖ/;
 s/ヷ/わ゙/;
 s/ヸ/ゐ゙/;
 s/ヹ/ゑ゙/;
 s/ヺ/を゙/;
 tr/ヽヾ/ゝゞ/;
 s/ヿ/こと/;
 print $_;
}



「わ゙ゐ゙ゑ゙を゙」で、trコマンドじゃなくて、sコマンドを使ってるのは、合成用濁点を使っているからです。濁点付きの「わゐゑを」という文字はありませんもん。

なお、小書きの「ヵ」「ヶ」を「ゕ」「ゖ」に変換するのは間違っていると思うけど、ここでは形式的に変換してみました。「ヵ」「ヶ」は「箇」や「个」の略字・異体であって、仮名ではないはず。


 NOTA BENE :  当初「use encoding "utf8";」という指定をしてましたが、これは使うべきではないとのことです(→『404 Blog Not Found』「perl - use encoding; #は黒歴史」)。


0 件のコメント: