völlig unlogisch (regular expression)
|
Seitenanfang |
if ($sl =~ m/\n\s*(Subject.*\n)/gm) {$mid=$1; print "1st\n";} else { if ($sl =~ m/\n\s*(Subject.*\n)/gm) {$mid=$1; print "2nd\n";} }
Es ist für mich nicht nachzuvollziehen, aber es gibt tatsächlich Fälle, in denen 2nd ge-print-ed wird. Warum kann es sein, daß ein regulärer ausdruck erst beim zweiten Durchlauf gefunden wird?
Datum: 31.08.2006-11:35

|
re: völlig unlogisch (regular expression)
|
Seitenanfang |
gegenfrage: warum benutzt du den /g modifier? der liefert dir alle treffer, aber du fragst ja nur mit if ab. im skalaren kontext liefert deshalb /g bei jeder abfrage den nächsten treffer.lies mal ein bißchen doku zu regexes, bei perl-community findest du auch einige ins deutsche übersetzte docs.
Datum: 03.09.2006-16:26

|
re: völlig unlogisch (regular expression)
|
Seitenanfang |
| also lieber Schlauchständer; veruchs doch FÜR regexps eine eigene variable zu definieren viele Gruesse Natascha_Kampusch
Datum: 08.09.2006-13:02

|