Perl:创建ZIP存档而忽略路径名

时间:2012-03-28 16:07:00

标签: perl zip

是否可以使用IO :: Compress :: Zip创建ZIP存档而不保留传入文件的完整路径?

例如 - 如果我将/tmp/foo/file.pdf添加到zip文件中,我希望在将/ tmp / foo路径添加到存档时将其删除。这可能吗?还有另一个模块可以做到吗?

1 个答案:

答案 0 :(得分:4)

请参阅documentation for IO::Compress::Zip

中的FilterName选项
  

尽管此选项可以与OO接口一起使用,但它最常见   使用一次性界面。例如,下面的代码显示了如何   FilterName可用于从一系列中删除路径组件   文件名在存储在$ zipfile之前。

sub compressTxtFiles
{
    my $zipfile = shift ;
    my $dir     = shift ;

    zip [ <$dir/*.txt> ] => $zipfile,
        FilterName => sub { s[^$dir/][] } ;  
}