Hallo zusammen,
ich bin auf der Suche nach einer Möglichkeit, mittels Perl Variablen aus einer Datei zu lesen und diese dann als lokale Variablen verwenden zu können. Es geht dabei darum, Webspaces für User anzulegen und wieder löschen zu können.
Zum Einsatz kommt Config::Simple, und die Variablen werden als "ini-Style" gespeichert. Hier mal ein Beispiel:
Wie ihr seht wird in Variablen selbst nochmal eine andere Variable verwendet, ob ich das so umsetzen kann sehe ich dann.
Als Code bastele ich momentan an folgender Lösung:
Ausgabe schaut so aus:
Nur das funktioniert nicht wirklich. Hat von euch einer ne Idee oder hat das schonmal so umgesetzt und kann mir nen Tipp geben.
Danke
Grüße
Tiberian
ich bin auf der Suche nach einer Möglichkeit, mittels Perl Variablen aus einer Datei zu lesen und diese dann als lokale Variablen verwenden zu können. Es geht dabei darum, Webspaces für User anzulegen und wieder löschen zu können.
Zum Einsatz kommt Config::Simple, und die Variablen werden als "ini-Style" gespeichert. Hier mal ein Beispiel:
Code:
filesdir="files"
logdir="log"
cgibindir="cgi-bin"
errordir="errordocs"
userpath="$webpath/$username"
Wie ihr seht wird in Variablen selbst nochmal eine andere Variable verwendet, ob ich das so umsetzen kann sehe ich dann.
Als Code bastele ich momentan an folgender Lösung:
Code:
#!/usr/bin/perl
use Config::Simple;
# Alle Variablen aus Datei in Hash speichern
my $cfg = Config::Simple->import_from('config.ini', \my %Config);
foreach my $k (keys %Config) {
print "$k => $Config{$k}\n";
# default. aus Namespace der .ini abschneiden
my $scalar = ( split '\.', $k )[-1];
print("test1 ".$scalar."\n");
# Variable exportieren
$zeile =~ s/$scalar/\$$scalar/gis;
print "Zeile ".$zeile."\n\n";
}
print("\n\nHallo ".$defaultowner."\n");
Ausgabe schaut so aus:
Code:
default.privdir => private
duda privdir
Zeile
default.filesdir => files
duda filesdir
Zeile
default.ssldir => ssl
duda ssldir
Zeile
default.logdir => logs
duda logdir
Zeile
default.svndomainpath => $webpath/$username/$svndir/$domain
duda svndomainpath
Zeile
Nur das funktioniert nicht wirklich. Hat von euch einer ne Idee oder hat das schonmal so umgesetzt und kann mir nen Tipp geben.
Danke
Grüße
Tiberian