Я использовал unicode:
%conv=(
"А"=>"А","Б"=>"Б","В"=>"В","Г"=>"Г","Д"=>"Д",
"Е"=>"Е","Ж"=>"Ж","З"=>"З","И"=>"И","Й"=>"Й",
"К"=>"К","Л"=>"Л","М"=>"М","Н"=>"Н","О"=>"О",
"П"=>"П","Р"=>"Р","С"=>"С","Т"=>"Т","У"=>"У",
"Ф"=>"Ф","Х"=>"Х","Ц"=>"Ц","Ч"=>"Ч","Ш"=>"Ш",
"Щ"=>"Щ","Ъ"=>"Ъ","Ы"=>"Ы","Ь"=>"Ь","Э"=>"Э",
"Ю"=>"Ю","Я"=>"Я","а"=>"а","б"=>"б","в"=>"в",
"г"=>"г","д"=>"д","е"=>"е","ж"=>"ж","з"=>"з",
"и"=>"и","й"=>"й","к"=>"к","л"=>"л","м"=>"м",
"н"=>"н","о"=>"о","п"=>"п","р"=>"р","с"=>"с",
"т"=>"т","у"=>"у","ф"=>"ф","х"=>"х","ц"=>"ц",
"ч"=>"ч","ш"=>"ш","щ"=>"щ","ъ"=>"ъ","ы"=>"ы",
"ь"=>"ь","э"=>"э","ю"=>"ю","я"=>"я",);
sub convert {
my ($d, %c)=@_;
while (($key, $value) = each(%c))
{
$d=~s/$key/$value/g;
};
return($d);
};