[問題] 用perl 連ftp抓檔案遇到問題
不好意思
要麻煩各位大大幫我解惑了
我想要連到kegg ftp站裡的某個資料夾 把它的裡面的檔案大部分都抓出來
可是我執行這個程式的時候遇到了一些問題
基本上如果抓的對象是一些小檔案 可以順利的達成
可是kegg上的檔案大的也有上G..
不知道是不是檔案太大? 照成問題.. 還是傳輸時間太久?
或是一次抓的檔案太多? 還是FTP連線時有什麼需要注意的嗎
對 FTP的認識不深 所以想問問各位高手的意見
=============================== 以下是程式 =========================
use strict;
use Net::FTP;
my ($site,$ftp,$directory,@line,@local,%filename);
###############目的只是為了不要抓到local端以有的檔案
###############所以先建個hash紀錄
@local = `ls`;
chomp (@local);
foreach (@local)
{
$filename{$_}="";
}
###########################
#################################開始連線
$site = "ftp.genome.jp";
$ftp = Net::FTP->new("$site", Debug=>0) or die "can't connect\n";
$ftp->login() or die "can't authenticate\n"; ## login
$directory = "/pub/kegg/tarfiles";
$ftp->cwd($directory);
@line = $ftp->ls(); ##取得這個目錄下的所有檔案名稱
foreach (@line)
{
if (exists$filename{$_}) #### 如果已存在在local端就跳出
{
next;
}
unless ($_ eq 'releases') ##### 不抓檔名叫做 releases 的檔案
{
$ftp->get($_) or die "can't download \"$_\"\n";
print "$_"; ### 我只是想看看他抓了哪些檔案
}
}
$ftp->quit() or die "can't quit\n";
==================================程式結束===========================
麻煩各位給點意見了 謝謝
*************************補上錯誤訊息
Unable to close datastream at getFileFromKegg.pl line 35
can't download "xxxx.xxxx.xxxx"(檔案名稱)
***************************
其中第35行我以顏色標出
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.160.177.211
→
02/26 01:06, , 1F
02/26 01:06, 1F
※ 編輯: plankton 來自: 140.129.160.66 (02/27 19:26)
→
02/27 19:26, , 2F
02/27 19:26, 2F
Perl 近期熱門文章
PTT數位生活區 即時熱門文章