[Inhalt] -> [Verschiedenes] |
[info] |
||
Obwohl es eine große Zahl von Perl-Modulen gibt, die die Funktionalität von Konfigurationsdateien bietet, kann auch mit den Bordmitteln von Perl eine Konfigurations-Datei realisiert werden. Sinnvoll ist eine solche Anwendung z.B. wenn CGI-Skripte sowohl auf einem Test-System als auch auf dem Produktions-Server laufen und eine jeweils angepaßte Konfiguration benötigen (z.B. für DB-Zugriffe). Das Einlesen einer gültigen Perl-Datei mit Variablen im eigenen Namensraum über require()
stellt hier eine schlichte und funktionale Lösung dar. Das Skript beginnt dann mit:
#!/usr/bin/perl -w use strict; my $path = "/path/to/config"; # vorgegeben oder # my ($path) = $0 =~/^(.+)\//; # findet config im gleichen Verzeichnis # my ($path) = $ENV{SCRIPT_FILENAME} =~/^(.+)\//; # dto. fuer CGI require "$path/conf.pm" or die "error reading config\n"; my $baz = "something"; print $Conf::foo, $Conf::bar, $baz, "\n";
Die Konfigurations-Datei definiert einen eigenen Namensraum (package
):
# conf.pm package Conf; ###### start configuration $foo = "foo some text"; $bar = "bar some other text"; ###### end configuration 1;