Транслит
Материал из Xgu.ru
Как выполнить транслитерацию потока в UNIX/Linux?
Использовать скрипт:
#!/usr/bin/perl
use utf8;
use Encode;
%tr=qw/
а a б b в v г g д d е e ё yo ж zh з z и i й j к k л l м m
н n о o п p р r с s т t у u ф f х h ц c ч ch ш sh щ shch ъ x ы y ь ' э eh ю yu я ya
А A Б B В V Г G Д D Е E Ё YO Ж ZH З Z И I Й J К K Л L М M
Н N О O П P Р R С S Т T У U Ф F Х H Ц C Ч CH Ш SH Щ SHCH Ъ X Ы Y Ь ' Э EH Ю YU Я YA
/;
sub translit($)
{
if ($tr{$_[0]}) {
return $tr{$_[0]};
}
else {
return "$_[0]";
}
}
binmode STDIN, ":utf8";
binmode STDOUT, ":utf8";
while(<>){
$a= decode_utf8( $_ );
$a =~ s/(.)/translit($1)/ge;
print $a;
}