>>60
それがいいかもね。こんな感じかな。

$str = '日本語テキスト';
print "オリジナル $str\n";
$str =~ s/[\p{Han}\p{InHiragana}\p{InKatakana}]/'hoge'.ord($&)/ge;
print "変換後 $str\n";
$str =~ s/hoge([0-9]+)/chr($1)/ge;
print "元に戻す $str\n";

しかし、[\p{Han}\p{InHiragana}\p{InKatakana}]のところは
何とかならんものかな。要するに、マルチバイト文字だけ変換
したいのだが。[^\p{Alphabet}]としてもうまく動いてくれないし。