Thread while-Schleife mit Bedingung als RegEx und Start von foreach-zeiger?
(9 answers)
Opened by bandchef at 2014-08-04 14:38 2014-08-04T12:38:54 bandchef Warum willst Du außen unbedingt eine foreach-Schleife haben? Die Semantik von foreach bedeutet, dass der ganze File auf einen Schlag in ein Array gelesen wird, dass dann anschließend abgearbeitet wird. (In der Praxis optimiert Perl hier AFAIK normalerweise, so dass der File doch nur zeilenweise gelesen wird) Probiere es doch mit zwei ineinandergeschachtelten while-Schleifen Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 while (my $line = <ZFILE>) { if ($line =~ /.../) { ...; } elsif ($line =~ /.../) { while ($line = <ZFILE>) { ...; } } } Wenn Du beim ersten Durchlauf der inneren while-Schleife die Zeile verwenden willst, die Du auch beim elsif-Match verwendet hast, musst Du die innere Schleife durch do {...} while (...); ersetzen. |