2009-07-18 6 views
2

Я создаю FTP-клиент, используя Net::FTP. В документации указано, что новый конструктор имеет опцию Host, которая может быть ссылкой на массив с хостами, чтобы попробовать поочередно. Кажется, я не могу заставить это работать. Я использую ActivePerl под Windows XP. Вот мой код:Почему не передается ссылка массива для параметра Host в Net :: FTP-> новой работе?

@try_these = ("turing.unh.edu", "euler.unh.edu"); 
$ftp = Net::FTP->new(Host => @try_these) 
or die "Can't connect: [email protected]\n"; 

А вот сообщение об ошибке:

Can't connect: Net::FTP: Bad hostname 'Host' 

ответ

6

На первый взгляд, это выглядит как все, что вам нужно сделать, это предоставить ссылку:

my $ftp = Net::FTP->new(Host => \@try_these); 

но здесь, кажется, что-то flaky с Net::FTP. Я не уверен, что кто-то испытал это. У меня нет времени, чтобы отладить его прямо сейчас, но я бы просто рекомендовал делать:

my $ftp; 
for my $host (@try_these) { 
    warn "Attempting to connect to '$host'\n"; 
    $ftp = Net::FTP->new($host) and last; 
} 

die "Could not connect\n" unless $ftp; 

Update: Я проверил исходный код для Net::FTP->new и, кажется, не существует каких-либо проверок для ссылки на массив прошло. Это похоже на случай, когда код и документы не соответствуют друг другу.

Bug report подано.

Update:

 
Subject: Re: [rt.cpan.org #48001] Net::FTP->new(Host => $arrayref) does not work 
Date: Sun, 19 Jul 2009 11:35:14 -0500 
To:  bug-libnet[...]rt.cpan.org 
From: Graham Barr [text/plain 147b] 
> > Seems like a mismatch between the code and the docs. 
> 
> Not sure where that came from in the docs, Net::FTP has never supported an 
> array of hosts 
+2

Хм, до сих пор не могу заставить его работать. Когда я пытаюсь: my @try_these = ("turing.unh.edu", "euler.unh.edu"); my $ ftp = Net :: FTP-> new (Host => \ @try_these) или умереть «Невозможно подключиться: $ @ \ n»; Я получаю: Не могу подключиться: Net :: FTP: Bad hostname 'ARRAY (0x1829da4)' – 2009-07-18 22:48:25

+1

Я не знаю, как подать отчет об ошибке. Это на самом деле мой первый день с использованием Perl. Я думаю, было бы лучше, если бы вы это сделали. – 2009-07-18 23:09:12

+0

@ Larry, OK сделаю. –

 Смежные вопросы

  • Нет связанных вопросов^_^