Perl 为什么';t在Net::FTP->;中传递主机参数的数组引用;新作品?

Perl 为什么';t在Net::FTP->;中传递主机参数的数组引用;新作品?,perl,ftp,libnet,Perl,Ftp,Libnet,我正在使用构建一个FTP客户端。文档中指出,新构造函数有一个Host选项,该选项可以作为一个数组的引用,该数组中的主机依次尝试。我好像没办法让它起作用。我正在Windows XP下使用ActivePerl。这是我的密码: @try_these = ("turing.unh.edu", "euler.unh.edu"); $ftp = Net::FTP->new(Host => @try_these) or die "Can't connect: $@\n"; 下面是错误消息: Ca

我正在使用构建一个FTP客户端。文档中指出,新构造函数有一个
Host
选项,该选项可以作为一个数组的引用,该数组中的主机依次尝试。我好像没办法让它起作用。我正在Windows XP下使用ActivePerl。这是我的密码:

@try_these = ("turing.unh.edu", "euler.unh.edu");
$ftp = Net::FTP->new(Host => @try_these)
or die "Can't connect: $@\n";
下面是错误消息:

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

乍一看,您所要做的似乎只是提供一份参考:

my $ftp = Net::FTP->new(Host => \@try_these);
但是这里的
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;
更新:我检查了
Net::FTP->new
的源代码,似乎没有对传递的数组引用进行任何检查。这似乎是代码和文档不匹配的情况

归档

更新:

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 主题:Re:[rt.cpan.org#48001]Net::FTP->new(主机=>$arrayref)不起作用 日期:2009年7月19日星期日11:35:14-0500 致:bug libnet[…]rt.cpan.org 发件人:格雷厄姆·巴尔[text/plain 147b] >>代码和文档之间似乎不匹配。 > >不确定这些文件来自何处,Net::FTP从未支持 >主机阵列
嗯,还是不能用。当我尝试时:my@try_this=(“turing.unh.edu”,“euler.unh.edu”);我的$ftp=Net::ftp->new(主机=>\@尝试这些)或死亡“无法连接:$@\n”;我得到:无法连接:Net::FTP:Bad hostname'ARRAY(0x1829da4)'我不知道如何提交错误报告。这实际上是我第一天使用Perl。我想如果你能做到最好。提交报告很容易。转到rt.cpan.org并为Net FTP提交报告。