#!/usr/bin/perl use strict; use warnings; my $shared=100; # 100 Zeichen Überschneidung my $chuncksize=10*1024*1024; my $file='test.random.txt'; my $regexp=qr/--TEST--/o; open(TRACEFILE, '<', $file ) or die "cannot open $file $!\n"; my $found=0; my $chunk; my $old=""; while (read(TRACEFILE, $chunk, $chuncksize)) { $chunk=$old.$chunk; $found++ while($chunk =~ m/$regexp/gsc); $old = substr($chunk,-$shared,$shared); $old =~ s/$regexp//gs; } print "anzahl treffer: $found\n";