2

複数のテキスト ファイルを含む zip アーカイブで文字列を検索する必要があります。どうすれば perl Archive::Zip を使ってそれを行うことができますか? また、他にどのモジュールを使用できますか?

私の基本的な要件は、特定の文字列を含む特定のテキスト ファイルを 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 に答える