rendered paste bodysub romaji_to_hiragana($)
{
my $str=shift;
my %table=('a'=>'あ','ba'=>'ば','bba'=>'っば','bbe'=>'っべ','bbi'=>'っび','bbo'
=>'っぼ','bbu'=>'っぶ','bbya'=>'っびゃ','bbye'=>'っびぇ','bbyi'=>'っびぃ','bbyo'
=>'っびょ','bbyu'=>'っびゅ','be'=>'べ','bi'=>'び','bo'=>'ぼ','bu'=>'ぶ','bya'=>
'びゃ','bye'=>'びぇ','byi'=>'びぃ','byo'=>'びょ','byu'=>'びゅ','ca'=>'か','cca'
=>'っか','cce'=>'っせ','ccha'=>'っちゃ','cche'=>'っちぇ','cchi'=>'っち','ccho'=>
'っちょ','cchu'=>'っちゅ','cci'=>'っし','cco'=>'っこ','ccu'=>'っく','ccya'=>'っちゃ',
'ccye'=>'っちぇ','ccyi'=>'っちぃ','ccyo'=>'っちょ','ccyu'=>'っちゅ','ce'=>'せ',
'cha'=>'ちゃ','che'=>'ちぇ','chi'=>'ち','cho'=>'ちょ','chu'=>'ちゅ','ci'=>'し'
,'co'=>'こ','cu'=>'く','cya'=>'ちゃ','cye'=>'ちぇ','cyi'=>'ちぃ','cyo'=>'ちょ'
,'cyu'=>'ちゅ','da'=>'だ','dda'=>'っだ','dde'=>'っで','ddha'=>'っでゃ','ddhe'=>
'っでぇ','ddhi'=>'っでぃ','ddho'=>'っでょ','ddhu'=>'っでゅ','ddi'=>'っぢ','ddo'=>
'っど','ddu'=>'っづ','ddwa'=>'っどぁ','ddwe'=>'っどぇ','ddwi'=>'っどぃ','ddwo'=>'
っどぉ','ddwu'=>'っどぅ','ddya'=>'っぢゃ','ddye'=>'っぢぇ','ddyi'=>'っぢぃ','ddyo'=>
'っぢょ','ddyu'=>'っぢゅ','ddzu'=>'っづ','de'=>'で','dha'=>'でゃ','dhe'=>'でぇ',
'dhi'=>'でぃ','dho'=>'でょ','dhu'=>'でゅ','di'=>'ぢ','do'=>'ど','du'=>'づ','dwa'
=>'どぁ','dwe'=>'どぇ','dwi'=>'どぃ','dwo'=>'どぉ','dwu'=>'どぅ','dya'=>'ぢゃ',
'dye'=>'ぢぇ','dyi'=>'ぢぃ','dyo'=>'ぢょ','dyu'=>'ぢゅ','dzu'=>'づ','e'=>
'え','fa'=>'ふぁ','fe'=>'ふぇ','ffa'=>'っふぁ','ffe'=>'っふぇ','ffi'=>'っふぃ',
'ffo'=>'っふぉ','ffu'=>'っふ','ffwa'=>'っふぁ','ffwe'=>'っふぇ','ffwi'=>'っふぃ',
'ffwo'=>'っふぉ','ffwu'=>'っふぅ','ffya'=>'っふゃ','ffye'=>'っふぇ','ffyi'=>'っふぃ'
,'ffyo'=>'っふょ','ffyu'=>'っふゅ','fi'=>'ふぃ','fo'=>'ふぉ','fu'=>'ふ','fwa'=>
'ふぁ','fwe'=>'ふぇ','fwi'=>'ふぃ','fwo'=>'ふぉ','fwu'=>'ふぅ','fya'=>'ふゃ','fye'
=>'ふぇ','fyi'=>'ふぃ','fyo'=>'ふょ','fyu'=>'ふゅ','ga'=>'が','ge'=>'げ','gga'
=>'っが','gge'=>'っげ','ggi'=>'っぎ','ggo'=>'っご','ggu'=>'っぐ','ggwa'=>'っぐぁ'
,'ggwe'=>'っぐぇ','ggwi'=>'っぐぃ','ggwo'=>'っぐぉ','ggwu'=>'っぐぅ','ggya'=>
'っぎゃ','ggye'=>'っぎぇ','ggyi'=>'っぎぃ','ggyo'=>'っぎょ','ggyu'=>'っぎゅ','gi'
=>'ぎ','go'=>'ご','gu'=>'ぐ','gwa'=>'ぐぁ','gwe'=>'ぐぇ','gwi'=>'ぐぃ','gwo'=>
'ぐぉ','gwu'=>'ぐぅ','gya'=>'ぎゃ','gye'=>'ぎぇ','gyi'=>'ぎぃ','gyo'=>'ぎょ',
'gyu'=>'ぎゅ','ha'=>'は','he'=>'へ','hha'=>'っは','hhe'=>'っへ','hhi'=>'っひ',
'hho'=>'っほ','hhu'=>'っふ','hhya'=>'っひゃ','hhye'=>'っひぇ','hhyi'=>'っひぃ',
'hhyo'=>'っひょ','hhyu'=>'っひゅ','hi'=>'ひ','ho'=>'ほ','hu'=>'ふ','hya'=>'ひゃ'
,'hye'=>'ひぇ','hyi'=>'ひぃ','hyo'=>'ひょ','hyu'=>'ひゅ','i'=>'い','ja'=>'じゃ'
,'je'=>'じぇ','ji'=>'じ','jja'=>'っじゃ','jje'=>'っじぇ','jji'=>'っじ','jjo'=>
'っじょ','jju'=>'っじゅ','jjya'=>'っじゃ','jjye'=>'っじぇ','jjyi'=>'っじぃ','jjyo'
=>'っじょ','jjyu'=>'っじゅ','jo'=>'じょ','ju'=>'じゅ','jya'=>'じゃ','jye'=>'じぇ',
'jyi'=>'じぃ','jyo'=>'じょ','jyu'=>'じゅ','ka'=>'か','ke'=>'け','ki'=>'き',
'kka'=>'っか','kke'=>'っけ','kki'=>'っき','kko'=>'っこ','kku'=>'っく','kkwa'=>
'っくぁ','kkya'=>'っきゃ','kkye'=>'っきぇ','kkyi'=>'っきぃ','kkyo'=>'っきょ','kkyu'
=>'っきゅ','ko'=>'こ','ku'=>'く','kwa'=>'くぁ','kya'=>'きゃ','kye'=>'きぇ','kyi'
=>'きぃ','kyo'=>'きょ','kyu'=>'きゅ','la'=>'ぁ','le'=>'ぇ','li'=>'ぃ','lka'=>
'ヵ','lke'=>'ヶ','lla'=>'っぁ','lle'=>'っぇ','lli'=>'っぃ','llka'=>'っヵ',' llke'
=>'っヶ','llo'=>'っぉ','lltsu'=>'っっ','lltu'=>'っっ','llu'=>'っぅ','llwa'=>
'っゎ','llya'=>'っゃ','llye'=>'っぇ','llyi'=>'っぃ','llyo'=>'っょ','llyu'=>
'っゅ','lo'=>'ぉ','ltsu'=>'っ','ltu'=>'っ','lu'=>'ぅ','lwa'=>'ゎ','lya'=>'ゃ',
'lye'=>'ぇ','lyi'=>'ぃ','lyo'=>'ょ','lyu'=>'ゅ','ma'=>'ま','mba'=>'んば',
'mbe'=>'んべ','mbi'=>'んび','mbo'=>'んぼ','mbu'=>'んぶ','mbya'=>'んびゃ','mbye'
=>'んびぇ','mbyi'=>'んびぃ','mbyo'=>'んびょ','mbyu'=>'んびゅ','me'=>'め','mi'=>
'み','mma'=>'っま','mme'=>'っめ','mmi'=>'っみ','mmo'=>'っも','mmu'=>'っむ','mmya'
=>'っみゃ','mmye'=>'っみぇ','mmyi'=>'っみぃ','mmyo'=>'っみょ','mmyu'=>'っみゅ','mo'
=>'も','mpa'=>'んぱ','mpe'=>'んぺ','mpi'=>'んぴ','mpo'=>'んぽ','mpu'=>'んぷ',
'mpya'=>'んぴゃ','mpye'=>'んぴぇ','mpyi'=>'んぴぃ','mpyo'=>'んぴょ','mpyu'=>'んぴゅ'
,'mu'=>'む','mya'=>'みゃ','mye'=>'みぇ','myi'=>'みぃ','myo'=>'みょ','myu'=>
'みゅ','n\''=>'ん','na'=>'な','ne'=>'ね','ni'=>'に','no'=>'の','nu'=>'ぬ',
'nya'=>'にゃ','nye'=>'にぇ','nyi'=>'にぃ','nyo'=>'にょ','nyu'=>'にゅ','o'=>'お',
'pa'=>'ぱ','pe'=>'ぺ','pi'=>'ぴ','po'=>'ぽ','ppa'=>'っぱ','ppe'=>'っぺ','ppi'
=>'っぴ','ppo'=>'っぽ','ppu'=>'っぷ','ppya'=>'っぴゃ','ppye'=>'っぴぇ','ppyi'=>
'っぴぃ','ppyo'=>'っぴょ','ppyu'=>'っぴゅ','pu'=>'ぷ','pya'=>'ぴゃ','pye'=>'ぴぇ',
'pyi'=>'ぴぃ','pyo'=>'ぴょ','pyu'=>'ぴゅ','qa'=>'くぁ','qe'=>'くぇ','qi'=>'くぃ'
,'qo'=>'くぉ','qqa'=>'っくぁ','qqe'=>'っくぇ','qqi'=>'っくぃ','qqo'=>'っくぉ',
'qqu'=>'っく','qqwa'=>'っくぁ','qqwe'=>'っくぇ','qqwi'=>'っくぃ','qqwo'=>'っくぉ',
'qqwu'=>'っくぅ','qqya'=>'っくゃ','qqye'=>'っくぇ','qqyi'=>'っくぃ','qqyo'=>'っくょ'
,'qqyu'=>'っくゅ','qu'=>'く','qwa'=>'くぁ','qwe'=>'くぇ','qwi'=>'くぃ','qwo'=>
'くぉ','qwu'=>'くぅ','qya'=>'くゃ','qye'=>'くぇ','qyi'=>'くぃ','qyo'=>'くょ',
'qyu'=>'くゅ','ra'=>'ら','re'=>'れ','ri'=>'り','ro'=>'ろ','rra'=>'っら','rre'
=>'っれ','rri'=>'っり','rro'=>'っろ','rru'=>'っる','rrya'=>'っりゃ','rrye'=>
'っりぇ','rryi'=>'っりぃ','rryo'=>'っりょ','rryu'=>'っりゅ','ru'=>'る','rya'=>'りゃ'
,'rye'=>'りぇ','ryi'=>'りぃ','ryo'=>'りょ','ryu'=>'りゅ','sa'=>'さ','se'=>'せ'
,'sha'=>'しゃ','she'=>'しぇ','shi'=>'し','sho'=>'しょ','shu'=>'しゅ','si'=>
'し','so'=>'そ','ssa'=>'っさ','sse'=>'っせ','ssha'=>'っしゃ','sshe'=>'っしぇ',
'sshi'=>'っし','ssho'=>'っしょ','sshu'=>'っしゅ','ssi'=>'っし','sso'=>'っそ',
'ssu'=>'っす','sswa'=>'っすぁ','sswe'=>'っすぇ','sswi'=>'っすぃ','sswo'=>'っすぉ',
'sswu'=>'っすぅ','ssya'=>'っしゃ','ssye'=>'っしぇ','ssyi'=>'っしぃ','ssyo'=>'っしょ'
,'ssyu'=>'っしゅ','su'=>'す','swa'=>'すぁ','swe'=>'すぇ','swi'=>'すぃ','swo'=>
'すぉ','swu'=>'すぅ','sya'=>'しゃ','sye'=>'しぇ','syi'=>'しぃ','syo'=>'しょ',
'syu'=>'しゅ','ta'=>'た','te'=>'て','tha'=>'てゃ','the'=>'てぇ','thi'=>'てぃ',
'tho'=>'てょ','thu'=>'てゅ','ti'=>'ち','to'=>'と','tsa'=>'つぁ','tse'=>'つぇ',
'tsi'=>'つぃ','tso'=>'つぉ','tsu'=>'つ','tta'=>'った','tte'=>'って','ttha'=>
'ってゃ','tthe'=>'ってぇ','tthi'=>'ってぃ','ttho'=>'ってょ','tthu'=>'ってゅ','tti'=>
'っち','tto'=>'っと','ttsa'=>'っつぁ','ttse'=>'っつぇ','ttsi'=>'っつぃ','ttso'=>
'っつぉ','ttsu'=>'っつ','ttu'=>'っつ','ttwa'=>'っとぁ','ttwe'=>'っとぇ','ttwi'=>
'っとぃ','ttwo'=>'っとぉ','ttwu'=>'っとぅ','ttya'=>'っちゃ','ttye'=>'っちぇ','ttyi'
=>'っちぃ','ttyo'=>'っちょ','ttyu'=>'っちゅ','tu'=>'つ','twa'=>'とぁ','twe'=>'とぇ'
,'twi'=>'とぃ','two'=>'とぉ','twu'=>'とぅ','tya'=>'ちゃ','tye'=>'ちぇ','tyi'=>
'ちぃ','tyo'=>'ちょ','tyu'=>'ちゅ','u'=>'う','va'=>'ヴァ','ve'=>'ヴェ','vi'=>
'ヴィ','vo'=>'ヴォ','vu'=>'ヴ','vva'=>'っヴァ','vve'=>'っヴェ','vvi'=>'っヴィ',
'vvo'=>'っヴォ','vvu'=>'っヴ','vvya'=>'っヴャ','vvye'=>'っヴェ','vvyi'=>'っヴィ',
'vvyo'=>'っヴョ','vvyu'=>'っヴュ','vya'=>'ヴャ','vye'=>'ヴェ','vyi'=>'ヴィ','vyo'=>
'ヴョ','vyu'=>'ヴュ','wa'=>'わ','we'=>'うぇ','wha'=>'うぁ','whe'=>'うぇ','whi'=>
'うぃ','who'=>'うぉ','whu'=>'う','wi'=>'うぃ','wo'=>'を','wu'=>'う','wwa'=>
'っわ','wwe'=>'っうぇ','wwha'=>'っうぁ','wwhe'=>'っうぇ','wwhi'=>'っうぃ','wwho'=>
'っうぉ','wwhu'=>'っう','wwi'=>'っうぃ','wwo'=>'っを','wwu'=>'っう','wwye'=>'っゑ',
'wwyi'=>'っゐ','wye'=>'ゑ','wyi'=>'ゐ','xa'=>'ぁ','xe'=>'ぇ','xi'=>'ぃ',
'xka'=>'ヵ','xke'=>'ヶ','xo'=>'ぉ','xtsu'=>'っ','xtu'=>'っ','xu'=>'ぅ','xwa'=>
'ゎ','xxa'=>'っぁ','xxe'=>'っぇ','xxi'=>'っぃ','xxka'=>'っヵ','xxke'=>'っヶ',
'xxo'=>'っぉ','xxtsu'=>'っっ','xxtu'=>'っっ','xxu'=>'っぅ','xxwa'=>'っゎ','
xxya'=>'っゃ','xxye'=>'っぇ','xxyi'=>'っぃ','xxyo'=>'っょ','xxyu'=>'っゅ',
'xya'=>'ゃ','xye'=>'ぇ','xyi'=>'ぃ','xyo'=>'ょ','xyu'=>'ゅ','ya'=>'や','ye'=>
'いぇ','yi'=>'い','yo'=>'よ','yu'=>'ゆ','yya'=>'っや','yye'=>'っいぇ','yyi'=>
'っい','yyo'=>'っよ','yyu'=>'っゆ','za'=>'ざ','ze'=>'ぜ','zi'=>'じ','zo'=>'ぞ',
'zu'=>'ず','zya'=>'じゃ','zye'=>'じぇ','zyi'=>'じぃ','zyo'=>'じょ','zyu'=>'じゅ',
'zza'=>'っざ','zze'=>'っぜ','zzi'=>'っじ','zzo'=>'っぞ','zzu'=>'っず','zzya'
=>'っじゃ','zzye'=>'っじぇ','zzyi'=>'っじぃ','zzyo'=>'っじょ','zzyu'=>'っじゅ',
'n'=>'ん');
$str=~s/(xxtsu|lltsu|ffya|kkyo|ffyo|ttwo|mbye|llka|xxyo|ccho|ffwi|
ttwe|ssyi|qqwe|cchu|ttse|ppye|wwho|zzye|mmyi|zzyi|llyi|ddhu|mbyu|
qqya|ddwa|wwyi|xxka|xxye|qqwo|mbyo|ccyu|ttyo|ggyu|ggwi|ffwa|kkyi|
wwhi|jjyi|kkwa|cche|ddhe|hhye|mpyu|ssha|bbya|mmyo|rrya|vvye|ffyi|
bbyo|ggwe|jjya|mbyi|ssyu|rryo|mmya|hhyu|bbye|llyu|ffwo|mpya|sswi|
llye|llke|rrye|mpyi|ggwu|qqwu|ssye|hhyo|llyo|kkye|qqyu|ddyo|ccyo|
ddya|sswo|zzya|ssya|ggyo|ggya|ttha|qqwa|ppyu|ddyi|qqyo|ffwu|vvyu|
ddho|ttwa|ttsi|qqwi|ddwu|ttsa|ffye|ffyu|mbya|ccye|ppya|ddwe|ddwi|
ttwi|rryu|ttho|sshe|bbyu|sshi|tthu|hhya|ddhi|vvya|xxtu|ssho|ltsu|
mmye|xxyu|ggyi|zzyu|ddzu|xxke|wwhu|wwye|ssyo|sswe|tthi|hhyi|kkyu|
ffwe|qqyi|ttwu|wwhe|qqye|jjye|ddwo|ddyu|xxya|ddha|xxyi|vvyi|zzyo|
ttya|ttyi|ppyo|jjyu|ggwa|tthe|ttso|ttyu|vvyo|ccha|mpye|xxwa|ccya|
jjyo|sshu|llya|sswa|ttye|rryi|cchi|ppyi|ggye|ggwo|bbyi|ccyi|mmyu|
mpyo|lltu|xtsu|ddye|kkya|sswu|llwa|wwha|ttsu|mpa|lli|zyi|fwa|fwo|cco
|nya|gye|xtu|mpi|hye|gwu|syo|dda|swe|chi|she|whu|vya|xxa|vyi|qqe|nyu
|ffi|ryi|sho|kwa|mpu|vvu|mbu|qwa|twa|fwi|gwa|xye|qye|zya|rya|thu|ffo
|kyi|cce|pye|tti|kku|jji|rri|nye|whe|bbu|kko|dwi|hhe|wha|lyi|hho|tsa
|mbi|dyo|zze|syu|yyu|yye|twi|jje|sse|gyu|rru|bbe|sso|yyi|bbo|mmo|dyi
|llu|lya|tta|rra|wwu|mba|sye|tya|wwa|wwo|ltu|nyo|fyu|dya|qwe|mpo|tyi
|twu|tse|xwa|shu|kyu|jyo|gge|mye|dha|cho|dhi|swo|tyu|zzu|vve|gwo|vyo
|mmi|gyo|byi|dho|lla|kke|bya|cya|bba|kya|lyo|hya|ddi|xke|ssu|wye|hyu
|lka|thi|ppi|hha|qqa|qya|dde|chu|dzu|myu|fwe|tha|swa|tto|vye|cyi|ppu
|twe|xyi|gwe|ddu|xxi|ggo|ryu|hyi|ffe|ttu|ppo|swi|ssa|n\'|dyu|tsu|shi
|qqi|pya|fye|lyu|ssi|swu|jjo|bye|qyi|wwe|xxe|xyu|mbo|ccu|jye|cyo|mya
|zye|ggu|xyo|qyu|nyi|vyu|vvi|tso|dwe|xya|cca|gyi|vvo|tho|dwo|jyu|lle
|qyo|sha|dwu|whi|ppa|fyo|ffa|zza|mma|zzi|gya|jju|zzo|che|ffu|qwi|mpe
|yyo|qqu|xxo|kki|cyu|dhe|bbi|cha|two|fyi|sya|xka|vva|dye|zyu|jya|lye
|jja|ggi|wwi|lwa|tsi|kyo|yya|myi|gwi|rre|ryo|hhi|byo|mme|pyo|hyo|jyi
|cci|qwo|tye|gga|pyi|wyi|kka|pyu|mmu|ppe|who|fwu|tte|byu|mbe|rro|fya
|zyo|kye|the|tyo|dwa|qqo|myo|syi|llo|xxu|lke|cye|ddo|qwu|dhu|hhu|rye
|ne|ki|ro|ke|ji|ga|mi|fa|za|xo|ve|na|ba|ma|si|re|me|fi|wo|xa|jo|bi|
vu|ca|fu|sa|de|he|da|ju|ci|ta|mo|qu|la|gi|qi|hi|ya|tu|ra|vo|ha|xe|ru
|ku|lo|di|we|to|cu|yu|mu|wa|pe|qa|zi|ja|co|bo|zo|bu|ri|ti|ka|ze|hu|
se|no|li|pa|go|du|vi|yo|wi|gu|xu|zu|pu|le|xi|nu|fe|ko|ge|va|lu|ho|qe
|wu|yi|ye|su|po|do|ni|je|fo|so|be|qo|ce|pi|te|a|e|u|o|i|n)/
$table{$1}
/gex;
$str;
}