2010年7月15日木曜日

Perlで日本語処理

Perlで日本語処理はややこしいと思います。 ここで、簡単に日本語の処理ができる秘訣を説明していきます。 秘訣は

  • UTF8でソースコードを書く
  • 出力するときに初めてターゲットのコードで出力するです。
例えば以下のプログラムは正規表現によって日本語のマッチングを行っていますが、正しく機能しています。 詳しくは以下のサンプルを実行して下さい。 もちろん保存はUTF8形式でお願いします。
use utf8;
use Encode;

my $moji1 = 'あああああああああ';
my $moji2 = 'ああああああああああ';
my $moji3 = 'あああああああああああ';

$_= $moji1;
print Encode::encode('shiftjis',$_);
if(m/^.{10,}$/ ){
print "ok\n";
}else{
print "no\n";
}

$_= $moji2;
print Encode::encode('shiftjis',$_);
if(m/^.{10,}$/ ){
print "ok\n";
}else{
print "no\n";
}


$_= $moji3;
print Encode::encode('shiftjis',$_);
if(m/^.{10,}$/ ){
print "ok\n";
}else{
print "no\n";
}


0 件のコメント:

コメントを投稿