Thread Wort filtern oder $1 resetten (3 answers)
Opened by grepex at 2009-08-19 12:05

pq
 2009-08-19 12:12
#124399 #124399
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
$1 wird nicht resettet. der punkt ist, du solltest $1 nur verwenden, wenn der match erfolgreich war. damit fällt das resetten weg, da bei einer erfolgreichen regex immer $1 und co. resettet werden.
also, niemals niemals:
Code (perl): (dl )
1
2
m/.../;
tu_was_mit($1) if $1;

immer:
Code (perl): (dl )
1
2
3
if (m/.../) {
    tu_was_mit($1);
}


das wird leider immer wieder falsch gemacht.
aber es ist doch logisch, dass man $1 nur benutzen will, wenn der match auch erfolgreich war, oder?

edit: typo
Last edited: 2009-08-19 12:14:08 +0200 (CEST)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread Wort filtern oder $1 resetten