[問題] 用perl 連ftp抓檔案遇到問題

看板Perl作者 (我是沒人要的小孩)時間18年前 (2007/02/25 23:28), 編輯推噓0(002)
留言2則, 2人參與, 最新討論串1/1
不好意思 要麻煩各位大大幫我解惑了 我想要連到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
小毛你要不要把錯誤訊息也po出來啊?
02/26 01:06, 1F
※ 編輯: plankton 來自: 140.129.160.66 (02/27 19:26)

02/27 19:26, , 2F
我po了 Q_Q
02/27 19:26, 2F
文章代碼(AID): #15uQif4d (Perl)
文章代碼(AID): #15uQif4d (Perl)