Thread Probleme mit $ beim Ersetzen: Emailpasswort ändern (8 answers)
Opened by in2fire at 2006-07-19 00:18

sid burn
 2006-07-19 11:27
#68246 #68246
User since
2006-03-29
1520 Artikel
BenutzerIn

user image
Ein Dollarzeichen in einer Regex hat die besondere Bedeutung das es ein Stringende oder Zeilende darstellt. Wenn du das Zeichen finden möchtest, anstatt dessen bedeutung in einer Regex zu verwenden, dann musst du wie esskar gezeigt das Dollarzeichen escapen.

Dafür könntest du z.b. "quotemeta" benutzen, allerdings ist $1, $2... nicht veränderbar.

Daher kannst du auch einfach ein "\Q" in deiner Regex verwenden zum escapen.

Code: (dl )
s/\Q$2/$passwd/;

\Q escaped alle Zeichen bis zum Ende, oder bis zum nächsten auftretenden "\E".

Damit sollte dein Code jedenfalls funktionieren.\n\n

<!--EDIT|sid burn|1153294221-->
Nicht mehr aktiv. Bei Kontakt: ICQ: 404181669 E-Mail: perl@david-raab.de

View full thread Probleme mit $ beim Ersetzen: Emailpasswort ändern