複数のテキスト ファイルを含む zip アーカイブで文字列を検索する必要があります。どうすれば perl Archive::Zip を使ってそれを行うことができますか? また、他にどのモジュールを使用できますか?
私の基本的な要件は、特定の文字列を含む特定のテキスト ファイルを zip アーカイブ内で見つけることです。
複数のテキスト ファイルを含む zip アーカイブで文字列を検索する必要があります。どうすれば perl Archive::Zip を使ってそれを行うことができますか? また、他にどのモジュールを使用できますか?
私の基本的な要件は、特定の文字列を含む特定のテキスト ファイルを zip アーカイブ内で見つけることです。
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";
}
}