Perl で、iモード (ケータイ) 用に全角カナを半角カナに変換したい

Unicode::Japanese を使う。つまりは SJIS に変換するが絵文字とかもこのモジュールでは考慮されている。このモジュール、モバイル用にいろいろ考えられている。こんな感じ。
絵文字が入ったテキストでは、Jcode などを使うと文字化けして使いものにならない。
$isiMode は、モバイルでアクセスされたときのフラグ用変数。この変数のために前もって自分で関数を書いておくこと。

使用するモジュール


use Unicode::Japanese;

# C コンパイラが使えれば XS も利用できる
#!/usr/bin/perl my $text = 'テスト'; my $output = print4i(¥$text); sub print4i {
my $str = shift;
use Unicode::Japanese;
$$str = Unicode::Japanese->new($$str, 'sjis-imode')->z2h->sjis_imode
if $isiMode;
print $$str;
}

Comments