my $zip = new Archive::Zip($Zip_File); my @file2 = $zip->membersMatching( '.*' ); for my $file2 (@file2){ my $fh = new Archive::Zip::MemberRead($zip, $file2); my $fh2 = $file2->fileName(); print $fh2,"\n"; my @suche = ""; my $pointer = '1'; while (defined(my $line = $fh->getline())) { chomp($line); $suche [$pointer] = $line; if ( $line =~ /$String/ ) { my $Zeile = $fh->input_line_number; my $read = $fh->read(my $buffer, 32*1024); open(LOG, ">>result.txt") or die $!; my $string_before = $pointer+1; if ( $string_before == '25' ) { $string_before = '1'; } print LOG "\nFound in Line $Zeile Search String\n$line\n$suche[$string_before] Log File $fh\n"; close LOG; } # if $pointer++; if ( $pointer == '25' ) { $pointer =1; } } # while $fh->close(); }