Dominique Stender: variablennamen dynamisch vergeben?

Beitrag lesen

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