Perlで日本語処理

Perlで校正チェック用のスクリプトを書いてみた。
Perl 5.8のUnicode対応のおかげで便利になったもんだぁ。

  • 文字境界を気にしなくていい

EUC-JPの『海』(B3A4)が『ここ』(A4B3 A4B3)にマッチしたり、Shift_JISの『モ』(8382)が『<を』(8183 82F0)にマッチしたりすることはない。

スクリプトEUC-JPで、読み込むファイルはShift_JISのときは

use Encode;
use encoding 'euc-jp';
open D, "

とすればよろし。

/\p{InHiragana}時\p{InHiragana}/
『な時に』『の時の』にマッチするが、『同時に』にはマッチしない。
/[\p{InHiragana}。、]後/
『の後に』『〜。後で』にマッチするが、『直後に』にはマッチしない。
/サーバ(?!ー)/
『メールサーバの』にマッチするが、『メールサーバーの』にはマッチしない。

参考