2

我需要在包含多个文本文件的 zip 存档中搜索字符串。我如何使用 perl Archive::Zip 来做到这一点?另外,如果有的话,它还能有什么其他模块?

我的基本要求是在包含给定字符串的压缩存档中找到一个特定的文本文件。

4

1 回答 1

2

只是一个简单的例子,如何遍历 zip 中的所有文件,

use strict;
use Archive::Zip;
my ($path, $filename) = ('c:\\temp\\', 'many_filez.zip'); #try / instead of \\?
my $zip = Archive::Zip->new($path.$filename);
unless ($zip) {
    die dump "cannot open '$path' + '$filename'" 
}
#find only css-files
my @members = $zip->membersMatching('.*\.css');
foreach my $member (@members) {
    my $file_content = $zip->contents($member );
    if ($file_content =~ /text to look for/ ) {
        print "\n $member->{fileName} did have a match";
    }        
}
于 2013-08-02T14:31:23.613 回答