/ / Net :: FTP-> new workでHostパラメータの配列参照を渡さないのはなぜですか? --perl、ftp、libnet

Net :: FTP-> new workのHostパラメータの配列参照を渡さないのはなぜですか? - perl、ftp、libnet

私はFTPクライアントを使用して構築しています Net :: FTP。ドキュメントには、新しいコンストラクターには Host 順番に試すホストを含​​む配列への参照となるオプション。これを機能させることができないようです。WindowsXPで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"

回答:

回答№1は6

一見すると、あなたがしなければならないのは参照を提供することだけのように見えます:

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 connectn" unless $ftp;

更新: ソースコードを確認しました Net::FTP->new 渡された配列参照のチェックがないようです。これは、コードとドキュメントが互いに一致しない場合のようです。

バグレポート 提出した。

更新:

件名:Re:[rt.cpan。org#48001] Net :: FTP-> new(Host => $ arrayref)が機能しない 日付:2009年7月19日日曜日11:35:14 -0500 宛先:bug-libnet [...] rt.cpan.org 差出人:Graham Barr [テキスト/プレーン147b] >>コードとドキュメントの不一致のようです。 >> >それがドキュメントのどこから来たのかわからない、Net :: FTPはこれまでサポートしていません >ホストの配列