perl zip目录为空

perl zip目录为空,perl,Perl,我试图使用Archive::Zip压缩目录,但得到的压缩结果是空的。 我做错了什么 my ($inDirectory, $outFile) = @_; # Create a Zip file my $zip = Archive::Zip->new(); # Add a directory my $dir_member = $zip->addDirectory($inDirectory. "/"); # Save the Zip file

我试图使用Archive::Zip压缩目录,但得到的压缩结果是空的。 我做错了什么

   my ($inDirectory, $outFile) = @_;

   # Create a Zip file
   my $zip = Archive::Zip->new();

   # Add a directory
   my $dir_member = $zip->addDirectory($inDirectory. "/");

   # Save the Zip file
   unless ( $zip->writeToFileNamed($outFile) == AZ_OK ) {
       die 'Could not zip file';
   }
也许你的目录$inDirectory。。。不是预期的目录,我不确定,但看起来dirname不需要结束斜杠:

print $inDirectory::Find::name;
if ( -d $inDirectory::Find::name ) { # just grab directories, not files.
   print "adding a dir\n";
   $zip->addDirectory($inDirectory::Find::name);
} else {
  #zip files
   print "adding a file\n";
  $zip->addFile($inDirectory::Find::name) != AZ_OK ||  print "couldn't add file \n";
}

要让它工作,我必须使用$zip->addTree

对,调用
addDirectory
只需在zip文件中添加一个空目录条目,您必须单独添加文件或使用方便的方法,例如
addTree