Thread Regex-Sicherheit mit /e
(3 answers)
Opened by marky at 2011-10-22 08:35
das /e ist einfach kein eval in dem sinne - der teil in der substitution ist regulärer code, der auch schon beim kompilieren gecheckt wird.
ist also ungefähr so wie der folgende code: Code (perl): (dl
)
1 2 3 4 if (m/.../) { # ersetze gematchten string durch encode_entities($GETPARA{$1}); } /ee dagegen wendet tatsächlich ein eval auf die substititution an, weshalb $1 gefährlich werden könnte: Code (perl): (dl
)
1 2 3 4 if (m/.../) { # ersetze gematchten string durch eval "encode_entities($GETPARA{$1})"; } 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: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |