0

在 Perl 中,我尝试 ftp 一个文件,但远程服务器中的文件大小为零。

$ftp = new Net::FTP($URL);
$ftp->put($local_file, $remote_file);

我确定本地文件不是空的,但是为什么ftp-ed文件是空的呢?

4

2 回答 2

4

你检查过文档吗? 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;
于 2012-04-19T20:24:54.163 回答
0

要找出您遇到的问题,请按如下方式修改您的代码:

$ftp = new Net::FTP($URL); 
$ftp->put($local_file, $remote_file) or die $ftp->message;

这种修改很可能会为您提供足够的信息来解决问题。

于 2012-04-19T21:52:52.400 回答