Friedhelm: Scalar in Variable ändern

Beitrag lesen

Es gibt eine Variable var1 mit irgendeinem String,

z.B. mit einer Verzeichnisangabe.

$var1 = "../dir/text.html";

Es gibt eine zweite Variable var2 mit einem String,

in dem als String "$var1" steht.

$var2 = "$var1";

Bei der Ausgabe von $var2 passiert folgendes:

print $var2;    # Ausgabe ist: $var1

Nein. Wenn du doppelte Anführungsstrichelchen ("Gänsefüßchen") verwendest, dann wird der String "$var1" interpoliert, d.h., es wird nach im String enthaltenen Variablen gesucht, welche durch ihren Inhalt ersetzt werden. Wenn du Hochkommata verwendest, _dann_ ist der Inhalt von $var2 $var1.
Die Ausgabe dort ist also "../dir/test.html".

»»»» Das passiert aber leider nicht!
Paß auf. das Problem ist folgendes. Ich lese eine Textdatei während der Laufzeit ein. Innerhalb dieser Textdatei befindet sich HTML Code, der ganz normal ausgegeben wird. Das ist kein Problem. Jetzt möchte ich aber dort eine Variable unterbringen, die in meinem Perl Programm definiert ist, die dann auch interpretiert und ausgegeben werden soll.

Jetzt liest Perl diese Variable natürlich als String ein und gibt sie auch als Text-String aus.

$var1 ist in meinem Programm definiert mit "../dir/text.html"
Jetzt lese ich in $var2 aus der Datei den Text-String $var1 ein. $var1 ist leider ein Text. Setze ich print "$var2";, dann wird $var1 ausgegeben. Setze ich print '$var2';, dann wird $var2 ausgegeben.

Ich möchte aber, dass der Inhalte der Variablen $var1, die im Programm definiert ist mit "../dir/text.html" ausgegeben wird und das passiert eben nicht.

Ich brauche irgend etwas, was mir aus einem String der den Text einer Variable beinhaltet, den Inhalt der Variable zaubert. Also eine Art Konverter von String zu Variable.

Danke und Gruß
Friedhelm