Quiq::Config - Konfigurationsdatei in "Perl Object Notation"
Quiq::Hash
use Quiq::Config; my $cfg = Quiq::Config->new('/etc/myapp/test.conf'); my $database = $cgf->get('database');
Ein Objekt der Klasse Quiq::Config repräsentiert eine Menge von Attribut/Wert-Paaren, die in einer Perl-Datei definiert sind.
Beispiel für den Inhalt einer Konfigurationsdatei:
host => 'localhost', datenbank => 'entw1', benutzer => ['sys','system']
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 Konfigurationsvariable ersetzt. Beispiel:
Konfigurationsdatei: VarDir => '/var/opt/myapp', SpoolDir => '%VarDir%/spool', Code: $val = $cfg->get('SpoolDir'); => '/var/opt/myapp/spool'
Wird durch den Pfad des aktuellen Verzeichnisses ersetzt. Anwendungsfall: Testkonfiguration für Zugriff auf aktuelles Verzeichnis über einen Dienst wie FTP:
test.conf --------- FtpUrl => 'user:passw@localhost:%CWD%'
[1] $cfg = $class->new(@files,@opt); [3] $cfg = $class->new($str); [4] $cfg = $class->new(\%keyVal);
Falls die Konfigurationsdatei nicht existert, erzeuge sie mit dem Inhalt $text.
Prüfe die Sicherheit der Datei. Wenn gesetzt, wird geprüft, ob die Datei nur für den Benutzer lesbar/schreibbar ist.
[1] Instantiiere Konfigurationsobjekt aus einer der Dateien @files und liefere eine Referenz auf dieses Objekt zurück. Beginnt $file mit einer Tilde (~), wird sie zum Homedir des rufenden Users expandiert. Die erste gefundene Datei wird geöffnet.
[2] Als Parameter ist der Konfigurationscode als Zeichenkette der Form "$key => $val, ..." angegeben.
[3] Die Konfiguration ist inline durch Hash %keyVal angegeben.
$val = $cfg->get($key); @vals = $cfg->get(@keys);
Liefere den Wert des Konfigurationsattributs $key bzw. die Werte der Konfigurationsattribute @keys.
Existiert ein Konfigurationsattribut nicht, wirft die Methode eine Exception.
$val = $cfg->try($key); @vals = $cfg->try(@keys);
Liefere den Wert des Konfigurationsattributs $key bzw. die Werte der Konfigurationsattribute @keys. Existiert ein Konfigurationsattribut nicht, liefere undef.
1.152
Frank Seitz, http://fseitz.de/
Copyright (C) 2019 Frank Seitz
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Quiq, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Quiq
CPAN shell
perl -MCPAN -e shell install Quiq
For more information on module installation, please visit the detailed CPAN module installation guide.