我想遞歸掃描一堆zip文件,當然,我正在使用archive :: zip。我想避免將存檔的內容擴展到臨時文件夾中。我想能夠使用類似(近僞代碼):zip文件中的遞歸下降?
sub CALLMYSELFAGAIN .....
my @members = $currentZipFile->members();
while(my $member = pop @members){
if ($member->isTextFile()){
push @content, $member->contents();
}elsif(isZipFile($member->fileName())){
CALLMYSELFAGAIN($member);
}
的問題是,$member->can("memberNames"))
返回false,所以$member
不是一個存檔::拉鍊的,我不能打開它的意義再次作爲一個zip文件。或者我錯了?
任何提示?
你是否有目錄和zip文件或zip文件?看來你混淆了兩者。 – Ouki 2012-02-17 15:31:29
如果你確實有一個zip文件,你想要遞歸遍歷,請注意,惡意zip文件是可能的 - 你可以創建一個壓縮文件解壓縮到一個精確的副本本身,無限遞歸(zip quine); http://research.swtch.com/zip – Daenyth 2012-02-17 17:42:29