Danさんに添削された Acme::JapaneseAvActress。
モジュール名をどうするかはちとおいといて(ちょwおいときすぎ><)、
- 次にAcme::JapaneseAvActress::Actressのフィールド。$aja->yomiに対応する$aja->engnameがあると、海外のerogeeksも喜ぶかも。
この部分。Danさん本人が Lingua::JA::Kana というかなとローマ字を変換するモジュールを先ほど作ったので、これ使えば女優のローマ字を返すメソッドできるんじゃね?と思ってはてブしたら、miyagawaさんが
yusukebe: Lingua::JA::Kanaは人名だとうまくいかないとおもう
use Lingua::JA::Hepburn::Passport
と教えてくれた。つまり、人名を Lingua::JA::Kana 使ってそのままローマ字変換すると「ゆうこ→yuuko」とかになってしまう。この場合「ゆうこ→yuko」となって欲しい。 そこで Lingua::JA::Hepburn::Passport 。 「日本の外務省パスポートのルール にあるヘボン式に則ったもの」ということで人名をそれっぽくヘボン式ローマ字に変換してくれる。 この2つのモジュールを試す、簡単なスクリプトを書くとこういう具合になった。
use utf8; use Lingua::JA::Kana; use Lingua::JA::Hepburn::Passport; my $hepburn = Lingua::JA::Hepburn::Passport->new; print $hepburn->romanize("ゆうこ") . "\n"; #YUKO print kana2romaji(decode_utf8 "ゆうこ") . "\n"; #yuuko
おおー、miyagawa++; 。 ってなわけで、Lingua::JA::Hepburn::Passport を使って Acme::JapaneseAvActress の女優さんクラスに engname メソッドを追加しました。
sub engname { my $self = shift; my $yomi = $self->yomi; $yomi = decode("utf-8",$yomi); my $hepburn = Lingua::JA::Hepburn::Passport->new; return $hepburn->romanize($yomi); }
これで、海外のエロギークが喜ぶかもね!