#! /usr/bin/perl use strict; # grosse Hilfe; immer einschalten use warnings; # wenigstens beim Entwickeln einschalten; auch grosse Hilfe my $num = 0; # Zaehler, wie viele Zeilen gelesen werden sollen # zeilenweise vom Handle DATA lesen; alternativ eben ein Handle einer selbst geoeffneten Datei while ( my $line = ) { # wenn keine Zeile mehr zu lesen ist und die aktuelle Zeile # einen String enthaelt, der lesenswerte Zeilen definiert, dann # uebernehme die Anzahl der zu lesenden Zeilen nach $num # !!! wenn $num noch nicht 0 ist, dann wird eine Zeile mit einem # neuen "LESE xy" ausgegeben und nicht ausgewertet!!! if ( $num == 0 && $line =~ m/LESE (\d+)/ ) { $num = $1; } # wenn noch Zeilen zu lesen sind elsif ( $num > 0 ) { # gebe die aktuelle Zeile aus print $line; # und reduziere den Zaehler um eins $num--; } # weiter mit naechster Zeile } # DATA Sektion kann entfallen, wenn eigene Datendateien verwenden werden # und nicht vom Handle DATA gelesen wird __DATA__ LESE 3 a1 a2 a3 LESE 2 b1 b2 LESE 2 c1 c2 LESE 4 d1 d2 d3 LESE 3 # ich werde ausgegeben d4 d5 d6