# ... my $flag = 0; while (my $line = ) { if ( $line =~ m{$BString} .. $line =~ m{$EString} ) { # Merker setzen, ob bestimmter String im Block vorkommt $flag = 1 if $line =~ m{$NoString}; push @data, $line; } else { # Blockende ist erreicht if ( $flag == 1 ) { # Merker ist gesetzt # tu was extra mit @data # ... $flag = 0; } @data = (); } } # ...