2010-06-01 69 views
1

我有一個文本文件(file.txt裏面的file.zip)內的zip文件,我想追加到這個文件的另一個文本文件file.txt外的zip文件。 我該怎麼做?有解決方案嗎?附加一個文本文件裏面的文件

我試圖附加=> 1個參數添加到IO ::壓縮::郵編但Zip文件裏的文件被覆蓋..

use IO::Compress::Zip qw(zip $ZipError) ; 

$filenameToZip = 'file.txt'; 
zip $filenameToZip => "file.zip",Append => 1 
    or die "zip failed: $ZipError\n"; 

我是否需要解壓縮zip文件,追加/合併兩個TXT文件並再次壓縮文件? 還是有更好的解決方案?

回答

5

我會推薦使用Archive::Zip模塊,而不是較低級別的模塊。除非你知道否則,我希望IO::Compress::Zip知道如何做Zip壓縮,但不知道如何操作Zip存檔文件。

爲IO ::壓縮文檔::郵編說:

該模塊提供了允許寫入ZIP壓縮數據文件或緩衝液中的Perl接口。

該模塊的主要目的是提供對zip文件和緩衝區的流寫入訪問。它不是一個通用文件存檔器。如果這是你想要的,看看Archive :: Zip。

+0

這是使用的正確模塊。聽起來你可能想使用extractMember獲取當前文件,使用標準perl IO將其他文件附加到它,然後使用replaceMember替換存檔中的當前文本文件... – 2010-06-01 23:56:05