Hallo.
Ich habe ein Problem, dass ich trotz Konsultierung der einschlaegigen Buecher (Kamel~, Koch~) nicht loesen konnte:
Ich will einen dynamischen, regulaeren Ausdruck in ein Perl-Programm einfuegen.
Folgender Code laeuft wunderbar:
$string = "Forumsbesucher";
$compare = "=~ /forum/i";
eval "if ($string $compare) { print 'Erfolg!\n'; }";
Bei $string = "webmaster@forum.de"; gibt es aber folgende Fehlermeldung:
Literal @forum now requires backslash at t.pl line
2, within string
Execution of t.pl aborted due to compilation errors.
Daraufhin habe ich versucht, das @ zu quoten:
$string = "webmaster@forum.de"; oder
$string = quotemeta ("webmaster@forum.de");
was aber beides keinen Erfolg brachte.
Es geht nicht nur um das @, auch wenn ein ! in $string drin ist, gibt Perl Fehlermeldungen aus.
Wie muss ich meinen Code modifizieren, damit Perl keinen Fehler zurueckgibt?
Hat mein Problem etwas mit dem Matching von Mulitbyte-Zeichen zu tun? (wohl eher nicht, oder?)
mfg
Felix Schwarz