Forum Webscript.Ru
Программирование => Perl => Тема начата: GrAfF от 21 Августа 2004, 22:22:09
-
Доброе!
use Encode;
$tmp = ;
chomp $tmp;
$tmp = decode("cp855", $tmp);
$tmp = encode("cp1251", $tmp);
print $tmp;
open (OUT, ">55.txt") or die $!;
print OUT ($tmp);
close
Пишу консольную утилу для под win. Нужно спросить у юзера строчку (в DOS кодировке) и сконвертить её в win1251, чтобы потом создать директорию. Вышеприведённый код почти работает, т.е. почти похоже, но не то.
Что исправить или как ещё омжно написать?
Cyrillic.pm можно не советовать, он так на моей машине и не завелся.
-
Вообще-то уже есть консольные утилиты для этого. В *nix системах
man iconv а под винду есть порт - libiconv. Искать на sourceforge.net.
-
Спасибо. Но вроде же логично смотрится. Код. Но не работает.. Теперь даже интереснее именно это, а не то, как ещё можно перекодировать.
-
GrAfF не знаю, даже провериить не на чем.
Напиши автору модуля что не так.
-
# echo "Пишу консольную утилу для под win." | iconv -f KOI8-R -t CP855 | perl -MEncode -pne \'Encode::from_to ($_,"cp855","cp1251");\' | iconv -f CP1251 -t KOI8-R
Пишу консольную утилу для под win.
#
-
arto откуда в виндовз iconv??