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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> POP3 клиент, как правильно получать ответ 
:(
    Опции темы
ginnie
Дата 26.9.2011, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



kotkota23, всегда полезно проанализировать чужой код, например, смотрим Net::POP3, там используется метод read_until_dot() из Net::Cmd.
Или я неверно понял Ваш вопрос?


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
shamber
Дата 26.9.2011, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

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



\.\n\r
PM MAIL Jabber   Вверх
kotkota23
Дата 27.9.2011, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо! много полезных мелочей подхватил для себя, вот он как полезен, опыт;)
сейчас столкнулся с проблемой перекодировки, как заставить модуль Encode переводить из utf-8 в cp-1251? я так понимаю он то мне и нужен

Это сообщение отредактировал(а) kotkota23 - 27.9.2011, 10:16
PM MAIL   Вверх
kotkota23
Дата 27.9.2011, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



понять не могу, почему не работает такой кусок

Код

use Encode;

...

   while(1) {
      last if($answer =~ /^\.\r?\n/o);
      $answer=<Server>;
      $data = from_to($answer, "utf-8", "cp1250");
      print "-> $data";
   }

PM MAIL   Вверх
Pfailed
Дата 27.9.2011, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(kotkota23 @  27.9.2011,  10:21 Найти цитируемый пост)
понять не могу, почему не работает такой кусок

Идёте по шагам своего предшественника: http://forum.vingrad.ru/index.php?showtopi...t&p=2328655


--------------------
PM MAIL   Вверх
kotkota23
Дата 27.9.2011, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



чёрт возьми, какой позор! а ведь я юзал и юзал поиск...
PM MAIL   Вверх
kotkota23
Дата 28.9.2011, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

sub retr {
   print Server "retr $_[0]\n";
   $data="";
   while(1) {
      last if($answer =~ /^\.\r?\n/o);
      $answer=<Server>;
      $data.=$answer 
   }
   
   Encode::from_to($dataa, "KOI8-R", "cp866");
   print $data;
}


почему таки консоль виндовая выводит ересь?
PM MAIL   Вверх
ginnie
Дата 28.9.2011, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



kotkota23, $dataa - это опечатка в сообщении или в программе?


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
kotkota23
Дата 28.9.2011, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



опечатка
тоесть перевод из кодировки в кодировку есть, но сама консоль не выводит
пробовал ср1251 и ср866
PM MAIL   Вверх
ginnie
Дата 28.9.2011, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



Если не сложно, добавьте вывод $data до from_to()  и покажите обе строки (как они выводятся на консоль).

Это сообщение отредактировал(а) ginnie - 28.9.2011, 16:48


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
kotkota23
Дата 5.10.2011, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



моя ошибка была не увидеть Quoted Printable
теперь я декодирую письмо, в файл выходит красивая кириллица
но в консоль всё также иероглифы

я использую

Код

Encode::from_to($a, "KOI8-R", "cp1251");


и вот что получается в консоли
1.в кодировке 1251
http://saveimg.ru/show-image.php?id=3dfef0...6f454e95da0aad6

2.в кодировке 866
http://saveimg.ru/show-image.php?id=2a84cc...e2792e3ae25b2c9
PM MAIL   Вверх
ginnie
Дата 5.10.2011, 12:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

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



kotkota23, добавьте в код
Код

use Devel::Peek;


и перед строчкой Encode::from_to() добавьте
Код

Devel::Peek::Dump($a);


посмотрим, что у Вас в переменной записано, т.к. в консоли явно utf8, только неверно выведенное.

Это сообщение отредактировал(а) ginnie - 5.10.2011, 12:30


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


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

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


 




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


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

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