Net::Ftp这里是不是有限制?

Net::Ftp这里是不是有限制?

我有一个目录下有20000个文件。
部分代码如下。
@files=$ftp->ls();
print "$_\n",foreach @files;
这个出不来。但是如果一个目录下只有几百个文件的时候。就可以打印出来。请问这个是限制吗?
或有什么 别的办法下以下载这20000多个文件 !
谢谢!
办法是:趁你的系统管理员没发飙之前,赶紧把你的文件整理到不同的目录中去!
我是就是这个系统的管理员。
请教下,有什么办法。
一般一个目录下超过1000个文件,系统性能和硬盘寿命就会受到很大影响
把你的文件按一定模式分目录存放吧,不然硬盘活不长了

偶以前被管理员说过的,至今记忆犹新.....
我这个是公司买的一个电话录音系统。没有办法改。只能是这样子。每天备份文件出来。就是怕有一天硬盘挂了!
建议你可以先用tar 加gzip将文件缩小...再用perl copy出来....
这样子文件数会小很多.....
你那个问题...有可能是Timeout了....拉长Timeout时间看看...client与server都要拉长...

我的印象中,如果文件太多..

ls会慢到让人受不了....
备份文件是为了防止硬盘挂,但是备份文件的操作本身却严重缩短了硬盘的寿命。。
这用生物学原理解释不就是前馈刺激么?
我如果在bash下用ls也不会超过120s的。
我看默认的是120s。应该不会超时吧。
我试试改时间长点!
#!/usr/bin/perl -w
use strict;
use Net::FTP;
my $ftp=Net::FTP->new("$HOST",Port=>21) or die "can't connet@\n";
$ftp->login("$user","$passwd"or die"no login\n";
$ftp->binary;
$ftp->cwd("$dirs"or die "$@\n",$ftp->message;
my @bb=$ftp->ls()or die "no ls files\n",$ftp->message;
print "$#bb\n";
$ftp->quit;

#perl test
no ls files
Arguments too long

请问这个是什么问题呀!好像说什么变量太长!
谢谢!