Thread Capturing und $1 (17 answers)
Opened by defun at 2008-07-25 02:38

Gast Gast
 2008-07-26 00:29
#112765 #112765
LanX-+2008-07-25 18:34:30--
@defun: wie Moritz dir gleich zu anfang gesagt hat: Man überprüft immer erst den Match bevor man Matchvariablen verwendet. *

Ansosnten setz dich mit local auseinander, um zu verstehen wieso das "alte" $1 überlebt.

* Und zu deinem "Ich weiß das es matcht" brauchen wir nichts mehr kommentieren, oder?

Ich weiß nicht, aber da schleichst du dich schon ziemlich bequem davon, oder? Ich weiß, dass $1 jeweils eine local-Gültigkeit hat. Und wie gesagt, ich sehe nicht ein, dass ein Match gültiger sein soll als genau der gleiche hinterher. Nur weil man das umgehen kann, indem man $1 lediglich bei Erfolg verwendet, heißt das noch nicht, dass Perl sinnvoll handelt. Es könnte ja genauso zu einem Bug kommen, weil Perl einmal beim Regex erfolgreich zurückliefert und beim zweiten mal nicht. Das ist dann zwar leichter zu debuggen, aber trotzdem komisch.

Aber hey, wenn sich niemand daran stört, will ich keinen Radau machen. ICH weiß jetzt ja, was ich bei einem \G/gc-Regex im Falle pos $text == length $text zu erwarten habe. Aber logisch finde ich es nicht. Vielleicht habe ich ja auch irgendwas übersehen oder irgend eine Dokumentation zu dem Thema nicht gelesen.

View full thread Capturing und $1