Thread suchen / Schleife (3 answers)
Opened by honky at 2006-06-08 11:20

Linuxer
 2006-06-08 11:42
#67109 #67109
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hi,

der zweite RegEx ist ueberflüssig, wenn das Muster gleich ist.

So sollte es funktionieren:

Code: (dl )
1
2
3
4
5
# solange treffer gefunden werden
while ( $data[$t] =~ /(\S+)/g ){
# wird jeder treffer in @test abgelegt
push( @test, $1 );
}


Bei Deinem Code hast Du, sobald ein Treffer gefunden werden kann, eine while ( TRUE ) Schleife.
Der erste Treffer wird gefunden, und das push wird ausgeführt. Dann prüft er wieder die Bedingung. Mangels /g-Modifier wird die RegEx-Suche wieder am String-Anfang gestartet und wieder wird der erste Treffer gefunden; das push wird wieder ausgeführt.
Das geht bis zum Programmabbruch so weiter ...

perlre

[edit1] Erklärung nachgereicht
[edit2] perl- duch code-block ersetzt; edit-history\n\n

<!--EDIT|Linuxer|1149754508-->
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!

View full thread suchen / Schleife