=head
Отдельная благодарность alekciy`ю (http://alekciy.ru/projects/translit/) за ликбез по части ГОСТов.
Функа ts, предназначена для транслитерации в соответствии с ГОСТ 7.79-2000 (взамен ГОСТ 16876-71)
Хотя есть некоторые сомнения, как получу печатный вариант ГОСТа, тогда будет абсолютно точная версия.
Автор: nrg
Напиcано: Чтв Сен 13 00:04:14 SAMST 2007
Обратная связь: nrg@jabber.snc.ru, icq: 813-793.
=cut
sub ts($)
{
my%hs=('аА'=>'a' , 'бБ'=>'b' , 'вВ'=>'v' , 'гГ'=>'g', 'дД'=>'d' ,
'еЕ'=>'e' , 'ёЁ'=>'jo' , 'жЖ'=>'zh' , 'зЗ'=>'z', 'иИ'=>'i' ,
'йЙ'=>'j' , 'кК'=>'k' , 'лЛ'=>'l' , 'мМ'=>'m', 'нН'=>'n' ,
'оО'=>'o' , 'пП'=>'p' , 'рР'=>'r' , 'сС'=>'s', 'тТ'=>'t' ,
'уУ'=>'u' , 'фФ'=>'f' , 'хХ'=>'kh' , 'цЦ'=>'c', 'чЧ'=>'ch',
'шШ'=>'sh', 'щЩ'=>'shh', 'ъЪ'=>'' , 'ыЫ'=>'y', 'ьЬ'=>'' ,
'эЭ'=>'eh', 'юЮ'=>'ju' , 'яЯ'=>'ja');
my$z=shift;
pop@{([\map do{$z=~s|[$_]|$hs{$_}|gi;},keys %hs])},$z;$z
}
Wednesday, 12 September 2007
Скрипт транслитерации на Perl
Теги:
Perl
Subscribe to:
Post Comments
(
Atom
)

Вот это круто!
ReplyDeleteБольшое спасибо, унёс к себе, буду пользовать. Фид тоже унёс, и добавил в свои ссылки на блоге.
Очень приятно, спасибо)
ReplyDeleteЧерез map...
ReplyDeleteКрасиво, но не читабельно.
Охрененски! Спасибо!
ReplyDeleteЧитабильность не была самоцелью :)
ReplyDeleteКак насчет utf8?
ReplyDeleteОт utf8 у перла может быть насварение желудка, будьте аккуратны.
ReplyDelete