これを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 件のコメント:
コメントを投稿