我需要在包含多个文本文件的zip存档中搜索字符串。我怎样才能使用perl Archive :: Zip来做到这一点?另外,还有什么其他模块,如果有的话?
我的基本要求是在压缩档案中找到包含给定字符串的特定文本文件。
答案 0 :(得分: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";
}
}