Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка русских имен в Perle 
:(
    Опции темы
GoodBoy
Дата 28.4.2004, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Цитата
Меня в институте учили "не изобретать велосипед дважды" (почему и привёл цитату из анекдота). А подобная задача меня просто выбила из колеи: почему встроенную функцию сортировки использовать нельзя, а остальные можно?

Мне как-то в универе на контрольной по ассембллеру снизили на 1 балл оценку за то, что я сделал инверсию числа путем вычитания его из нуля, а не использовал оператор NEG, который делает инверсию числа путем вычитания его из нуля... :-)))))))

Мораль: преподы та-а-а-а-акие загадашные, однако.... :-))))))))))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Суриец
Дата 30.4.2004, 05:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.4.2004

Репутация: нет
Всего: нет



И все таки... можно стандартными способами отсортировать правильно русские имена на Perle под Linux'ом.... ???
Или как-то надо извращаться? И как именно?
PM MAIL   Вверх
Pattern®
Дата 5.5.2004, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 18.4.2004
Где: Санкт-Петербург

Репутация: нет
Всего: нет



И что? В ответ тишина? butbut.gif
Суриец, я бы сделал это всё таким образом. Если у тебя система поддерживает koi8-r, то просто перед сортировкой массива взять и переконвертить искомый массив в win-1251, а после сортировки обратно его переконвертировать в koi8-r.
Вот тебе простейшие функции конвертации:
win-1251 в koi8-r
Код
sub wintokoi {
   my $decoderwin=shift;
   $decoderwin=~tr/\xC0\xC1\xC2\xC3\xC4\xC5\xa8\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xb8\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF/\xE1\xE2\xF7\xE7\xE4\xE5\xb3\xF6\xFA\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF2\xF3\xF4\xF5\xE6\xE8\xE3\xFE\xFB\xFD\xFF\xF9\xF8\xFC\xE0\xF1\xC1\xC2\xD7\xC7\xC4\xC5\\xa3\xD6\xDA\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD2\xD3\xD4\xD5\xC6\xC8\xC3\xDE\xDB\xDD\xDF\xD9\xD8\xDC\xC0\xD1/;
       return $decoderwin;
}
koi8-r в win1251
Код
sub koitowin {
   my $decoderwin=shift;
   $decoderwin=~tr/\xE1\xE2\xF7\xE7\xE4\xE5\xb3\xF6\xFA\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF2\xF3\xF4\xF5\xE6\xE8\xE3\xFE\xFB\xFD\xFF\xF9\xF8\xFC\xE0\xF1\xC1\xC2\xD7\xC7\xC4\xC5\\xa3\xD6\xDA\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD2\xD3\xD4\xD5\xC6\xC8\xC3\xDE\xDB\xDD\xDF\xD9\xD8\xDC\xC0\xD1/\xC0\xC1\xC2\xC3\xC4\xC5\xa8\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xb8\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF/;
       return $decoderwin;
}
ЗЫЖ Самый простой выход из положения и считается самым правильным... wink.gif

PM MAIL WWW ICQ   Вверх
Суриец
Дата 5.5.2004, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 26.4.2004

Репутация: нет
Всего: нет



О! biggrin.gif Все заработало!!! Огромное спасибо. cool.gif
PM MAIL   Вверх
YURIC
Дата 18.5.2004, 02:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 5.8.2003

Репутация: нет
Всего: 1



У меня вот так все отлично работает:

Код
#!/usr/bin/perl
use CGI::Carp qw/fatalsToBrowser/;
use locale;
use POSIX;
setlocale(LC_CTYPE,'ru_RU.CP1251');

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0437 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.