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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> oscar и сравнение текста, Не понимаю... 
:(
    Опции темы
Astraller
Дата 20.6.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Суть в том что не работает сравнение строк, или я не пойму что не так...
Код

#!/usr/bin/perl -w

use Net::OSCAR;
use strict;

my($UIN, $PASSWORD, $err, $oscar, $text);

sub send_answer();

$UIN = "587003760";
$PASSWORD = "wisible";
$text = "test";

$oscar = Net::OSCAR -> new();
$oscar -> set_callback_im_in(\&send_answer);

$oscar -> signon($UIN, $PASSWORD) or die("Login error");

while (1) {
  $oscar->do_one_loop();
  sleep(1);
}
sub send_answer() {
  my($oscar, $sender, $msg);

  ($oscar, $sender, $msg) = @_;
  chomp($msg);

  if ($msg eq 'quit') {
    $oscar -> send_im($sender, "Shutting down...");
    $oscar -> signoff();
    exit();
  }

  print("<== $sender\n$msg\n==> $text\n");
  $oscar -> send_im($sender, $text);
}

Проблема у меня вот в этой строчке:
Код

  if ($msg eq 'quit') {

Она не срабатывает ни при каких условиях. Почему - понять не могу.

Это сообщение отредактировал(а) Astraller - 20.6.2009, 15:34


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
mario315
Дата 20.6.2009, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Код

if ($msg =~ 'quit') {


Так, вроде, работает.
PM MAIL   Вверх
shamber
Дата 20.6.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



don'tquit тоже сработает smile
PM MAIL Jabber   Вверх
Astraller
Дата 21.6.2009, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Цитата(mario315 @  20.6.2009,  19:46 Найти цитируемый пост)
Так, вроде, работает. 

Не работает  smile 

странно, все как-то, очень странно.


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
shamber
Дата 21.6.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



А может ну ее эту асю? может Jabber поможет?
PM MAIL Jabber   Вверх
mvsgt
Дата 22.6.2009, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Попробуйте вывести значение $msg - может там большие буквы.
PM MAIL   Вверх
Astraller
Дата 22.6.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Цитата(shamber @  21.6.2009,  22:40 Найти цитируемый пост)
А может ну ее эту асю? может Jabber поможет? 

Это для агрегатора... до жабы еще дойду smile

Цитата(mvsgt @  22.6.2009,  10:15 Найти цитируемый пост)
Попробуйте вывести значение $msg - может там большие буквы. 

Оно выводится вот результат (до и после $msg специально добавил "_"):
Код

<== 213979536
_test_
==> test
<== 213979536
_quit_
==> test



--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
shamber
Дата 22.6.2009, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



кодировка?
PM MAIL Jabber   Вверх
Astraller
Дата 22.6.2009, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 300
Регистрация: 1.8.2007
Где: $Украина[Кры м]->Феодосия

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



Цитата(shamber @  22.6.2009,  12:03 Найти цитируемый пост)
кодировка? 

А есть разница если сравниваются латинские символы?

Хотя я пробовал в cp1251 и в utf8. Не помогло. smile 


--------------------
A.S.T.R.A.L.L.E.R.: Artificial Synthetic Technician Responsible for Assassination, Logical Learning and Efficient Repair
PM MAIL WWW ICQ   Вверх
mvsgt
Дата 22.6.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Может там флаг какой, типа utf8 стоит у одной из сравниваемых строк? Попробуйте у обеих его снять или поставить.

utf8::upgrade($msg);
$msg_utf8 = Encode::decode_utf8($msg);

типа этого.


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


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

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


 




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


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

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