我正在尝试使用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';
}
这不起作用。有什么想法吗?
答案 0 :(得分:0)
尝试
my $filename = $members[0]->fileName();