Perl:创建ZIP存档,同时忽略路径名



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

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

请参阅IO::Compress::Zip 文档中的FilterName选项

尽管此选项可以与OO指针面一起使用,但它是最重要的使用一次性界面。例如,下面的代码显示了FilterName可用于从一系列文件名,然后将其存储在$zipfile中。

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

最新更新