Thread verwirrende aussagen auf perldoc.perl.org: bezogen auf defined (4 answers)
Opened by legine at 2006-06-30 18:16

Dubu
 2006-07-01 02:23
#67745 #67745
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Vorsicht, Vorsicht!

Man sollte immer auf den Match selber testen, nicht auf $1 etc.
Warum? Weil die Variablen $1, $2 etc. bei einem neuen Match nicht automatisch auf undef zurückgesetzt werden. Wenn der Match greift, bekommen sie einen neuen wert, aber wenn er nicht greift, behalten sie ihren alten Wert!

Code: (dl )
1
2
3
4
5
6
7
8
9
10
### FALSCH
$zeile =~ /...(...).../;
if ($1 ne "") {
   # hier steht evtl. etwas altes in $1
}

### RICHTIG
if ($zeile =~ /...(...).../) {
  # jetzt kann man $1 etc. verwenden
}

View full thread verwirrende aussagen auf perldoc.perl.org: bezogen auf defined