私は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はこれまでサポートしていません >ホストの配列