2014-02-11 65 views
3

我希望使用Perl模塊IO :: Uncompress :: AnyUncompress,這裏記錄:http://perldoc.perl.org/IO/Uncompress/AnyUncompress.html使用Perl模塊IO :: Uncompress :: AnyUncompress

但是,本文檔似乎無法證明壓縮存檔(.zip,.7z)包含壓縮文件樹的事實。我想提取的存檔只有一個文件,而不是完整的歸檔文件,例如:

my $archivename = 'archive.7z'; 
my $filetoextract = './bin/file.lib'; 

my $archive = new IO::Uncompress::AnyUncompress($archivename); 
my $filecontent = $archive->extract($filetoextract); 

然而,API似乎並不具備這樣的extract() fonction,既沒有將返回列表功能包含在檔案中的文件。

我錯過了什麼嗎?

回答

1

IO::Uncompress::AnyUncompress只處理單個壓縮字節流。您需要一個模塊,如Archive::Any,Archive::Any::LiteArchive::Libarchive::XS

+0

不幸的是,'檔案::任何'只支持拉鍊和焦油。 –

+0

'Archive :: Libarchive :: Any'似乎是解決方案,但在Windows上安裝失敗;依賴關係'Alien :: Libarchive'失敗。 –

+0

因此,我的問題沒有解決,但你仍然給我的問題一個很好的答案! –