Hallo!
Ich habe ein PerlScript geschrieben, daß u.a. einen Parameterfile ausliest. Die Datei hat diesen Aufbau:
...
bcolor=#041420
textcolor=#99bbee
...
Im Script wird die Datei ausgelesen und es foglt eine ellenlange Liste von IF Abfragen:
open (pref, "$cgi_bin_path$prefs_db")
while(<pref>)
{
($namebuf, $argbuf) = split(/=/,$_);
$argbuf =~ s/\n//;
if ($namebuf eq "bgcolor") {$bgcolor = $argbuf}
if ($namebuf eq "textcolor") {$textcolor = $argbuf}
...
Jede Zeile wird also in $namebuf und $argbuf zwischengespeichert. Dann wird die komplette Liste an IF Abfragen durchgegangen und falls der entsprechende Eintrag gefunden wurde, wird eine Variable belegt, die genauso heißt wie der Wert in $namebuf.
Ist es möglich, daß ganze irgendwie in etwas ähnliches wie folgendes umzuwandeln?
open (pref, "$cgi_bin_path$prefs_db")
while(<pref>)
{
($namebuf, $argbuf) = split(/=/,$_);
$argbuf =~ s/\n//;
$[$namebuf] = $argbuf
}
Also, daß die Variablen dynamisch einen Namen bekommen, der dem Inhalt von $namebuf entspricht?
Das würde das Script _sehr_ viel kürzer machen :-))
Tnx.
Dominique