Xpoint
   [напомнить пароль]

lwp падает с ошибкой Zero Sized Reply

Метки: [без меток]
[удл]
2007-08-16 17:38:27 [обр] ppp0[досье]

Добрый день !

Почему вот такое вот падает с ошибкой Zero Sized Reply ?

use LWP::Simple;
for ($i=0;$i<length($config->{urls});$i++){
   $data .= get $config->{urls}[$i];
}

где $config->{urls} - массив с сылками ....

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

спустя 16 минут [обр] Dennis F. Latypoff aka funky_dennis(24/78)[досье]
#!/usr/bin/perl -W
use warnings;
use strict;

my @array = (1, 2, 3);
print length @array, "\n";
спустя 23 минуты [обр] ppp0[досье]
но у меня <<< length($config->{urls}) >>> отлично выдает количество элементов массива...
спустя 8 минут [обр] Алексей Севрюков(198/1280)[досье]

ppp0[досье]

length(@{$config->{urls}});

ибо это не массив, а ссылка на него.

Да и length тут не причем, достаточно просто:

for ($i=0;$i<@{$config->{urls}};$i++){
спустя 11 минут [обр] ppp0[досье]
в как раз @{$config->{urls}} ничего не возвращает и это не ссылка на массив а сам массив и есть
спустя 1 час 29 минут [обр] AB...(10/233)[досье]

Ну тогда просто введите переменную до цикла

my @list = $config->{urls};

и используйте этот индекс.

спустя 2 часа 12 минут [обр] Spectrum2(3/26)[досье]
ppp0[досье]А если вставить это перед циклом?
use Data::Dumper;
print Dumper($config->{urls});
спустя 4 часа 54 минуты [обр] Алексей Севрюков(198/1280)[досье]
ppp0[досье] да не может быть ключ хеша массивом, он может содержать только скалярные значения или ссылки.
спустя 22 минуты [обр] Роман Чемисов(56/327)[досье]

Что-то я совсем запутался...
ppp0[досье]
$config->{urls} — это ссылка на массив?
Значит Вам нужен такой вариант (как уже заметил уважаемый AB...[досье])

for ( $i = 0; $i < scalar( @{$config->{urls}} ); $i++ ) {

Ну или так:

foreach my $url ( @{$config->{urls}} ) {
   $data .= get $url;
}

Не пойму, что Вы спорите со своей length...

спустя 2 часа 4 минуты [обр] ppp0[досье]

Spectrum2[досье] если вставить Dumper то получается

$VAR1 = [ 'http://proxy-list.org/downloadproxylist.php?sp=-1&pp=any&pt=any&pc=any&ps=any', 'http://www.steganos.com/?area=updateproxylist', 'http://www.freeproxy.ru/download/lists/goodproxy.txt', 'http://www.proxy-list.net/show-proxy-lists.shtml?84d7b2f07c774ee0701', 'http://publicproxyservers.com/page1.html', 'http://publicproxyservers.com/page2.html', 'http://publicproxyservers.com/page3.html', 'http://publicproxyservers.com/page4.html', 'http://publicproxyservers.com/page5.html', 'http://www.multiproxy.org/all_proxy.htm' ];

Роман Чемисов[досье] не спорю я уже :)

спустя 3 часа 58 минут [обр] Роман Чемисов(56/327)[досье]
ppp0[досье]
Ну вот. Всё правильно и получается :-)
спустя 3 часа 55 минут [обр] Алексей Севрюков(198/1280)[досье]
ppp0[досье] так это и есть ссылка на массив. Используйте либо мой вариант, либо вариант Романа. Принудительно указывать scalar в скалярном контексте не нужно.
спустя 2 часа 24 минуты [обр] ppp0[досье]

Алексей Севрюков[досье] да спасибо огромное всем ! Я использовал просто ссылку ну массив да и се тут.

А эта ошибка Zero Sized reply вовсе не из-за lwp а это такие специфические настройки сервера у нас, как оказалось, специфические

Powered by POEM™ Engine Copyright © 2002-2005