AlexBausW: Variable dereferenzieren

Beitrag lesen

Hallo Cruz,

ja, daß die Variablen verschwinden wenn das Script vorbei ist das ist mir schon klar. Ich habe eine config Datei, in der die Variable $secret hinterlegt ist, und sie ist in mehreren Scripten bekannt.
Ein Script generiert einen Link, der einen anderen aufruft, das sind 2 Scripte, in beiden ist die Variable $secret bekannt.
Das Problem ist eigentlich, daß ich mehrere secret Variablen habe, und das Script das durch den Link aufgerufen wird muss wissen welchen der secret Variablen er nehmen soll. Daher die Referenzierung. Ich habe die Referenzierung schon etliche male eingesetzt und es funktionierte immer toll (eigentlich finde ich, daß man in Perl wunderbar referenzieren kann), aber jetzt wo meine Referenz durch den Query String kommt, tut es nicht.

Entschuldige, wenn ich nicht gleich verstanden habe, was Du mit dem Variablennamen anfangen willst <sorry>.
Wenn ichs jetzt richtig kapiert habe, möchtest Du einfach den Namen der Variablen übergeben, und dann die Variable mit diesem Namen im neuen Skript ansprechen !?! Wie wärs wenn Du einen Hash produzierst, in dem die Werte der Variablen stehen:

$variablen{'bezeichner'} = $wert;

Dann erhälst Du den Wert der Variablen mit:

$hash{$input{'var_name'}};

Dabei kann naturlich $wert auch eine beliebige Referenz auf eine Variable sein. Ich verwende das selbst bei einem SSI-Parser zum Aufruf von Subroutinen (möchte mich hiermit offiziell beim Archiv für die Hinweise bedanken :-).
Hoffentlich hat das diesmal geholfen, und nix für ungut, daß ich nicht gleich durchschaut habe, was Du vorhattest :-)

$$input{'var_name'} ist einfach leer, obwohl $input{'var_name'}="secret" ist und $secret="humbug" ist.

In einer Referenz wird die Adresse eines Speicherbereichs referenziert, die für die "selbe" Variable in unterschiedlichen Prozessen natürlich auch unterschiedlich sein kann. So weit ich weis, sorgt ja erst der Interpreter zur Laufzeit dafür, daß ein Speicherbereich reserviert wird.

Gruß AlexBausW