Thread regex match auf "md5($_REQUEST" (3 answers)
Opened by Superfrank at 2013-03-05 11:46

pq
 2013-03-05 12:34
#166221 #166221
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
du schreibst ja richtigerweise einen backslash vor die klammer und das dollarzeichen. warum? um es zu escapen, also nicht als regex-sonderzeichen zu behandeln.
das ganze schreibst du nun mit doppelten anführungszeichen erstmal in einen string.
erst dann gibst du dem matching-operator diesen string. bis dahin sind aber die backslashes verschwunden.
Code: (dl )
1
2
3
4
perl -wE'
my $pattern = "(md5\(\$_(REQUEST|GET|POST)|oder_anderer_regex|nocheinregex)";
say $pattern'
(md5($_(REQUEST|GET|POST)|oder_anderer_regex|nocheinregex)

klammer und dollarzeichen sind also nicht mehr escaped.

wenn du dich wundert, warum etwas nicht klappt, mach einfach ein print, um zu sehen, was wirklich in deinen variablen enthalten ist.

die lösung hat muffi gepostet.
Last edited: 2013-03-05 12:35:29 +0100 (CET)
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 regex match auf "md5($_REQUEST"