Thread Probleme mit Ausdrücken
(21 answers)
Opened by Trommelwirbel at 2011-11-10 17:05
Was ist $element? Wie wird die Variable gefüllt?
Kannst Du mal ein minimales lauffähiges Beispiel inklusive Beispieldaten liefern? Damit ließe sich das Problem besser nachvollziehen... So ganz verstehe ich Dein Problem derzeit nicht. Hier nochmal mein Code mit Kommentaren: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 #! /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 = <DATA> ) { # 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 meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |