使用perl从其他拉链创建zip聚合

时间:2011-05-20 14:44:02

标签: perl zip

我正在尝试使用perl的Archive :: Zip模块创建一个zip文件。我有一些已经创建的zip文件,其中每个文件包含一个单独的csv文件。我希望,如果可能的话,不提取文件,创建一个包含所有单独的csv文件的大型zip文件。 例如,我有: 2010-01.zip 2010-02.zip 2010-03.zip    。    。 2010-12.zip

我想创建一个包含12个csv文件的2010.zip(2010-01.csv,2010-02.csv ... 2010-12.csv)。

我现在的代码是:

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';
}

这不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试

my $filename = $members[0]->fileName();