Perl でファイルを ftp しようとしましたが、リモート サーバーのファイルのサイズがゼロです。
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file);
ローカル ファイルが空でないことは確かですが、なぜ ftp ファイルが空なのですか?
Perl でファイルを ftp しようとしましたが、リモート サーバーのファイルのサイズがゼロです。
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file);
ローカル ファイルが空でないことは確かですが、なぜ ftp ファイルが空なのですか?
ドキュメントを確認しましたか?
http://search.cpan.org/dist/libnet/Net/FTP.pm
具体的には、匿名で接続している場合でもログインする必要があり、すべてのコードの戻りコードを確認する必要があります。
CPANページの概要は次のとおりです。
use Net::FTP;
$ftp = Net::FTP->new("some.host.name", Debug => 0)
or die "Cannot connect to some.host.name: $@";
$ftp->login("anonymous",'-anonymous@')
or die "Cannot login ", $ftp->message;
$ftp->cwd("/pub")
or die "Cannot change working directory ", $ftp->message;
$ftp->get("that.file")
or die "get failed ", $ftp->message;
$ftp->quit;
発生している問題を特定するには、コードを次のように変更してください。
$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file) or die $ftp->message;
ほとんどの場合、この変更により、問題を解決するのに十分な情報が得られます。