[sisyphus] Re: Сортировка кириллицы вPerl

Епифанов Сергей =?iso-8859-1?q?serpiph_=CE=C1_entek=2Eru?=
Вт Июн 17 09:56:07 MSD 2003


В сообщении от 17 Июнь 2003 01:29 Alexey Tourbin написал:
> On Mon, Jun 16, 2003 at 05:58:27PM +0400, Епифанов Сергей
> wrote: Content-Description: signed data
>
> > Интересно, я еще раз попробовал вместо utf-8 использовать
> > cp1251. Интересно, что если программа такая:
> > use strict;
> > use POSIX;
> > use locale;
> > use encoding 'cp1251';
>
> Ещё раз: endocing -- это кодировка исходного файла.
>
> > То она пишет:
> >
> > п(1087) т(1090) с(1089) р(1088)
> > п(1087) р(1088) с(1089) т(1090)
> > 0
> > 0
> > 1
>
> А у вас он теперь в utf-8.
>
> > То бишь команда 'use locale' рушит всю работу!!!
>
> Ох... боюсь что вы плохо в этом разобрались.  Даже я в этом
> плохо разобрался.  Но у меня когда надо всё работает. :)

Для начала уточним: у вас какая локаль? cp1251? Вы пробовали 
программу целиком с 
use locale;
use encoding 'cp1251' ;
?

Попробовал Ваш вариант с utf-8. Когда ЕСТЬ команда
use locale;
то пишет 

п(1087) т(1090) с(1089) р(1088)
п(1087) т(1090) с(1089) р(1088)
0
0
1

и всё в порядке, если этой команды нет.

Ещё раз повторяю: программа начинает работать правильно, если 
убрать из неё строку 'use locale'. А если ещё убрать и 'use 
encoding', то получаем вообще

п(239) р(240) с(241) т(242)
п(239) р(240) с(241) т(242)
0
1
0

По-моему, всё и так понятно.

-- 
С уважением, Епифанов Сергей


Подробная информация о списке рассылки Sisyphus