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.
\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