LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1686|回复: 2

怎么使用 Net::FTP?

[复制链接]
发表于 2003-12-11 00:27:51 | 显示全部楼层 |阅读模式
这是错误的脚本,请指教

#!/usr/bin/perl -w
use strict;
use Net::FTP;
use constant HOST => 'nic.funet.fi';
use constant DIR  => '/pub/doc/unix/run/';
use constant FILE => 'Ind.ic.Z';
use constant SIZE => '/pub/doc/unix/run/Ind.ic.Z' ;
use constant DIRA => '/pub/doc/unix/ ';
use constant DIRB => '/pub/';

my $ftp=Net::FTP->new(HOST);
                     Timeout => 130,
                     Port => 21,
                     BlockSize = 10200) or die "could not connect\n";
                    # BlockSize default=10240;port=21;timeout=120
$ftp ->login('anonymous') or die $ftp ->message;
$ftp ->accii;
$ftp ->binary;
$ftp ->( "OLDNAME" , "NEWNAME" );
$ftp ->delete(" FILENAME " );
$ftp ->cwd (DIR)          or die $ftp ->message;
$ftp ->size(SIZE)         or die $ftp ->message;
my $list=$ftp ->ls (DIRA) or die $ftp ->message;
$ftp ->dir(DIRB)          or die $ftp ->message;
$ftp ->get (FILE)         or die $ftp ->message;
my $size=$ftp ->size(FILE);
print "$size\n";
$ftp ->quit;
foreach  ($list) {
print "$_";
}
warn "ok\n";
发表于 2003-12-11 01:07:38 | 显示全部楼层

回复: 怎么使用 Net::FTP?

#!/usr/bin/perl -w
use strict;
use Net::FTP;
use constant HOST => 'nic.funet.fi';
use constant DIR  => '/pub/doc/unix/run/';
use constant FILE => 'Ind.ic.Z';
use constant SIZE => '/pub/doc/unix/run/Ind.ic.Z' ;
use constant DIRA => '/pub/doc/unix/ ';
use constant DIRB => '/pub/';

my $ftp=Net::FTP->new(HOST); #<-- 多了); 應該是,
                     Timeout => 130,
                     Port => 21,
                     BlockSize = 10200) or die "could not connect\n";
                    # BlockSize default=10240;port=21;timeout=120
$ftp ->login('anonymous') or die $ftp ->message;
$ftp ->accii; #<-- ascii 才對
$ftp ->binary;
$ftp ->( "OLDNAME" , "NEWNAME" ); #<-- 這兩行幹什麼的?~~
$ftp ->delete(" FILENAME " ); #
$ftp ->cwd (DIR)          or die $ftp ->message;
$ftp ->size(SIZE)         or die $ftp ->message;
my $list=$ftp ->ls (DIRA) or die $ftp ->message; # $list 應該是@list
$ftp ->dir(DIRB)          or die $ftp ->message;
$ftp ->get (FILE)         or die $ftp ->message;
my $size=$ftp ->size(FILE);
print "$size\n";
$ftp ->quit;
foreach  ($list) {
print "$_"; #加上\n 好看點
}
warn "ok\n";
 楼主| 发表于 2003-12-11 13:10:27 | 显示全部楼层
斑竹果然心细,这里:$ftp ->( "OLDNAME" , "NEWNAME" ); 是这样:
$ftp ->rename( "OLDNAME" , "NEWNAME" );
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表