Thread Wiki: Häufige Fehler und Fallen (22 answers)
Opened by betterworld at 2008-08-16 20:18

betterworld
 2008-08-18 16:41
#113663 #113663
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
LanX-+2008-08-18 13:12:58--
Mal ein anderes Beispiel, jmd generiert personalisierte Scripte und will für die configdaten keine extradatei mitliefern, deswegen kommt am Anfang ein Codestück wo Variablen automatisch gesetzt werden und ein Progger verlässt sich darauf dass durch Einsetzen von
Code (perl): (dl )
 print "\$NAME=\"$param('name')\"" 

im Code nix passieren kann ...

Dadurch wird doch auch kein Code ausgeführt, oder?

Wenn ich das jetzt im Kopf richtig geparst habe, wird da nur das Skalar $param eingefügt. Da musst Du uns jetzt mal ein Beispiel zeigen, was in $param drin stehen muss, damit da jetzt Code ausgeführt wird... :)

Ich vermute, dass hier ein Verständnisproblem vorliegt. Ich bringe mal eine Analogie:
Code: (dl )
1
2
3
sub foo {
$param;
}

Diese Subroutine gibt $param zurück. Man kann mit Subroutinen auch Code ausführen, aber trotzdem wird jetzt nicht irgendwie der Inhalt von $param evaluiert. Mit Stringinterpolation ist es afaik genau dasselbe. (Ebenso übrigens auch mit s///e -- auch wenn das "e" für eval stehen mag, wird damit nur Code ausgeführt, der schon beim Laden des Scriptes kompiliert wurde -- erst "/ee" ist dann gefährlich.)

View full thread Wiki: Häufige Fehler und Fallen