Thread join (//, @buffer): join mit // hängt von Matching ab
(16 answers)
Opened by El Ron at 2007-02-07 10:35
[quote=Dubu,08.Feb..2007, 23:54][quote=sid burn,08.02.2007, 23:46]Es wird nirgendswo eine 1 zurück geliefert, wenn der match nicht klappt.[/quote]
Sorry, vielleicht habe ich mich unklar ausgedrückt: Es wird eine 1 zurück geliefert, da der vorige Match nicht klappt. Siehe das Problem aus dem ersten Beitrag: Code: (dl
)
1 my $dummy = "Y"; Das ergibt a1b1c1d. Das meinte ich. Da der Match mit /N/ nicht gepasst hat, liefert das // später im skalaren Kontext immer eine 1.[/quote] Nein, der vorherige Match hat nicht geklappt. Daher hat // keine weitere bedeutung. Nur wenn der vorherige Matcht geklappt hätte würde // auf den letzten Match gesetzt werden. Da bisher noch kein Match geklappt hat entspricht // halt einer Leeren Regex. Und wenn man keine Variable angibt dann wird automatisch auf $_ gematcht. Das hat zur folge das ein Leerer Match immer wahr wird. Und dies hat den Rückgabewert 1. Das // hat nichts direkt mit dem vorherigen Match zu tun, und dass er nicht gematcht hat. Würdest du den vorherige Match raus löschen würde immer noch das gleiche heraus kommen. $dummy =~ /N/i; hat keinen Einfluss auf das Ergebnis, da es eben nicht matcht, und somit // nicht verändert. Es kommt das gleiche Ergebniss raus, auch wenn du den ganzen Match weg lässt. Hierbei kommt wie gesagt immer noch "a1b1c1d" heraus.\n\n <!--EDIT|sid burn|1170978477--> Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de
|