NAME
Prty::Config - Konfigurationsdatei in "Perl Object Notation"
BASE CLASS
SYNOPSIS
use Prty::Config;
my $cfg = Prty::Config->new('/etc/webapp/test.conf');
my $database = $cgf->get('database');
DESCRIPTION
Ein Objekt der Klasse Prty::Config repräsentiert eine Menge von Attribut/Wert-Paaren, die in einer Perl-Datei spezifiziert sind.
Beispiel für den Inhalt einer Konfigurationsdatei:
host => 'localhost',
datenbank => 'entw1',
benutzer => ['sys','system']
Platzhalterersetzung
Im Wert einer Konfigurationsvariable können Platzhalter eingebettet sein. Ein solcher Platzhalter wird mit Prozentzeichen (%) begrenzt und beim Lese-Zugriff durch den Wert der betreffenden (anderen) Konfigurationsvariable ersetzt. Beispiel:
Konfigurationsdatei:
VarDir => '/var/opt/myapp',
SpoolDir => '%VarDir%/spool',
Code:
$val = $cfg->get('SpoolDir');
# => '/var/opt/myapp/spool'
Besondere Platzhalter
- %CWD%
-
Wird ersetzt durch den Pfad des aktuellen Verzeichnisses. Anwendungsfall: Testkonfiguration für Zugriff auf aktuelles Verzeichnis über einen Dienst wie FTP:
test.conf --------- FtpUrl => 'user:passw@localhost%CWD%'
METHODS
Konstruktor
new() - Instanziiere Konfigurationsobjekt
Synopsis
[1] $cfg = $class->new($file);
[2] $cfg = $class->new(\@dirs,$file);
[3] $cfg = $class->new($str);
[4] $cfg = $class->new(@keyVal);
Description
[1] Instanziiere Konfigurationsobjekt aus Datei $file und liefere eine Referenz auf dieses Objekt zurück.
[2] Durchsuche die Verzeichnisse @dirs nach Datei $file. Die erste gefundene Datei wird geöffnet. Ein Leerstring '' in @dirs hat dieselbe Bedeutung wie '.' und steht für das aktuelle Verzeichnis.
[3] Als Parameter ist der Konfigurationscode als Zeichenkette der Form "$key => $val, ..." angegeben.
[4] Die Konfiguration ist inline angegeben.
Werte abfragen
get() - Liefere Konfigurationswerte
Synopsis
$val = $cfg->get($key);
@vals = $cfg->get(@keys);
Description
Liefere den Wert des Konfigurationsattributs $key bzw. die Werte der Konfigurationsattribute @keys.
Existiert ein Konfigurationsattribut nicht, wirft die Methode eine Exception.
try() - Liefere Konfigurationswerte ohne Exception
Synopsis
$val = $cfg->try($key);
@vals = $cfg->try(@keys);
Description
Liefere den Wert des Konfigurationsattributs $key bzw. die Werte der Konfigurationsattribute @keys. Existiert ein Konfigurationsattribut nicht, liefere undef.
AUTHOR
Frank Seitz, http://fseitz.de/