我試圖用perl的Archive :: Zip模塊創建zip文件。我有一些已經創建的zip文件,其中每個包含一個csv文件。我希望,如果可能的話,不用提取文件,創建一個包含所有單個csv文件的大型壓縮文件。 例如,我有: 2010-01.zip 2010-02.zip 2010-03.zip 。 。 2010-12.zip使用perl創建其他zip文件的zip集合
我想創建一個包含12個csv文件(2010-01.csv,2010-02.csv ... 2010-12.csv)的2010.zip文件。
我最多的代碼到現在是:
my $aggzip = Archive::Zip->new();
# get all zip files for this year
my @files = <$path*$year*.zip>;
foreach my $file (@files) {
my $zip = Archive::Zip->new($file);
my @members = $zip->members();
my $filename = %{$members[0]}->{'fileName'};
$aggzip->addFile($level2Path.$filename, $filename);
}
if ($aggzip->writeToFileNamed($year.".zip") != AZ_OK) {
die 'write error';
}
這是行不通的。有任何想法嗎?
任何錯誤消息? $ level2Path未在您的代碼中定義。它存在嗎?它有價值嗎?添加使用嚴格;使用警告;添加調試打印語句以檢查變量是否包含您認爲他們所做的事情。 – Raoul 2011-05-20 14:51:17