use Archive::Zip; use Archive::Zip::MemberRead; use File::Glob ':glob'; #**************************** # Search String #**************************** print "\n\nPls. Enter Search String!\n\n"; chomp ($String = ); print "\nSearching for String $String ........\n\nPls. wait!\n\n"; #**************************** # Search over all ZIP Files #**************************** @Zip_File = glob ("*.zip"); for $Zip_File (@Zip_File){ #**************************** # #**************************** $zip = new Archive::Zip($Zip_File); #**************************** # Files to be read #**************************** @file2 = qw (PIXX_SRV_LF5.LOG PIXX_SRV_LF5.LOG.1 ); for $file2 (@file2){ #**************************** # Open Zip Archive for # reading Files #**************************** $fh = new Archive::Zip::MemberRead($zip, $file2); #**************************** # Line number call for # Search String #**************************** $zeile = 0; while (defined($line = $fh->getline())) { chomp($line); ++$zeile; if ($line =~ /$String/) { print "\nFound in Line $zeile: Search String\n$line\nin ZipFile $Zip_File\nLog File $file2\n\n"; } } $fh->close(); } } print "\n\nSearch for String $String Done!";