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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение почты через POP3.pm, очень странная ошибка 
:(
    Опции темы
Vaneska
Дата 17.3.2005, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Соорудил такой скрипт:
Код

#!/usr/bin/perl -w

use strict;

use Net::POP3;

my $host = shift @ARGV;
my $login= shift @ARGV;
my $pass= shift @ARGV;

my $pop =Net::POP3->new($host) || die $!;
$pop->user($login);
print "В вашем почтовом ящике ", $pop->pass($pass), " сообщений. \n";
$pop->quit;


запускаю с хостами pop.mail.ru, mail.land.ru (другие не пробовал) выдает такую ошибку:
Use of uninitialized value in numeric eq (==) at C:/Perl/lib/Net/POP3.pm line 57.
Bad file descriptor at mail_c.pl line 14.

Я так понял что происходят какие-то непонятные ошибки при создании обьекта, поэтому то и $obj неинициализирована. Но почему???
ведь вроде код верный. Модуль POP3 новый. Специально скачал. в чем причина? smile
Помогите, спасите!

Это сообщение отредактировал(а) Vaneska - 17.3.2005, 10:29
--------------------
http://isokolov.blogspot.com/
PM MAIL ICQ   Вверх
korob2001
Дата 17.3.2005, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



У меня так работает:
Код

#!/usr/bin/perl -w
use strict;
use Net::POP3;
my( $host, $login, $pass ) = ( shift, shift, shift );
my $pop =Net::POP3->new($host) || die $!;
$pop->user($login);
print "У вас ", $pop->pass($pass), " писем. \n";
$pop->quit;

Вызывал так: С:\>perl script.pl pop.telenet.be логин пароль


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Vaneska
Дата 17.3.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Извеняюсь, что потревожил, но я полный чайник. Надо же было забыть в файерволе порты открыть. Бывает же такое.

Все работает на ура smile

Буду дальше скрипт писать..
--------------------
http://isokolov.blogspot.com/
PM MAIL ICQ   Вверх
Kiber_rat
Дата 17.3.2005, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

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



А зачем так сложно? С тремя shift-ами? Кроме того не понятно из какого массива берутся значения, массив по умолчанию @_ но не @ARGV. Так чуть попроще...
Код

my( $host, $login, $pass ) = @ARGV;



--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
korob2001
Дата 17.3.2005, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Внутри подпрограммы по умолчанию @_, а вне подпрограммы @ARGV. Но твой вариат действительно проще.


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Kiber_rat
Дата 18.3.2005, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


MACMANIAC
**


Профиль
Группа: Участник
Сообщений: 276
Регистрация: 18.4.2002
Где: Ashdod, Israel

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



Не знал, серьезно.... Почему то думал что @_ везде умолчательный. Впрочем для удобочитаемости лучше, по моему, явно указывать какой массив используется...


--------------------
Best regards!                                                             
@..@_____Ku6ep
=*=______\______KPbIC
Код
print join "",map{chr}(split/(\w{2})/,hex(int(2175.57302796298**2)))
PM WWW ICQ Skype Jabber YIM   Вверх
korob2001
Дата 18.3.2005, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Kiber_rat - это ведь не так сложно запомнить. smile
Но в данном случае, самый актуальный, этот вариант:
Код

my( $host, $login, $pass ) = @ARGV; 

А я просто обожаю стёки smile , но в данном случае они неусметны. smile



--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Vaneska
Дата 18.3.2005, 23:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Старая добрая привычка. Обьявляешь переменную - коментируешь. А при таком подходе одна переменная на одной строке.
а вообще Ваш вариант гораздо проще.
И вообще. Я перл приводит меня в неаписуемый восторг smile


Это сообщение отредактировал(а) Vaneska - 18.3.2005, 23:53
--------------------
http://isokolov.blogspot.com/
PM MAIL ICQ   Вверх
korob2001
Дата 19.3.2005, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

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



Цитата

И вообще. Я перл приводит меня в неаписуемый восторг

Я тебя понимаю. smile


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Shar
Дата 24.3.2009, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Люди помогите!

В Perle не соображаю, но нужно получить почту из ящика с помощью указанного модуля, причем скрипт запускать из командной строки сервера, может готовый класс есть? Приму любую помощь!
PM MAIL   Вверх
gcc
Дата 24.3.2009, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


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

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



PM WWW ICQ Skype GTalk Jabber   Вверх
NuINu
Дата 24.3.2009, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



gcc: зря ты так, называй сразу таксу, зачем человека мучаться заставлять.
PM MAIL   Вверх
tolkien
Дата 25.3.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Если человек в PERL не бум бум, то пусть юзает outlook. 

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


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

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


 




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


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

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