Config-Manager
view release on metacpan or search on metacpan
lib/Config/Manager/Conf.pm view on Meta::CPAN
WHOAMI zurueckgeliefert, falls dieser Systemaufruf implementiert ist, ansonsten
"undef" und entsprechende Fehlermeldung) sowie WHOAMI (der erste Wert, der
in der Umgebung fuer USERNAME, LOGNAME, USER oder LOGIN gefunden wurde). Die
Werte werden vom System gesetzt; der Abschnitt "SPECIAL" kann nicht aus einer
Datei eingelesen werden. Es ist aber moeglich, die Datumsangaben durch set()
zu ueberschreiben (koennte fuer den Test von Tools nuetzlich sein); OS, SCOPE,
HOME und WHOAMI sind auch mit set() nicht aenderbar.
Die Zeitangaben werden zum Zeitpunkt des Aufrufs der new()- bzw. der
init()-Methode gesetzt und aendern sich ab da nicht mehr; d.h. sie
werden bei aufeinanderfolgenden Abfragen NICHT mehr auf den jeweils
aktuellen Wert gesetzt. (Der Benutzer kann dies aber wie gesagt
ggfs. selbst, mit Hilfe der set()-Methode, tun.)
=back
=head1 ANMERKUNG
Diese Klasse ist als geschachtelter Hash implementiert, und zwar hat man je
Abschnitt-Schluessel-Paar folgende Eintraege:
lib/Config/Manager/User.pm view on Meta::CPAN
);
return undef;
}
1;
__END__
=head1 NAME
Config::Manager::User - Routinen zur Abfrage von Benutzerinformationen
=head1 SYNOPSIS
use Config::Manager::User qw(:all);
# Login-Kennung des momentanen Users ermitteln
my $user = user_id();
# HOST-ID des momentanen Users bestimmen
my $host_id = host_id();
t/01_____config.t view on Meta::CPAN
# Daten einlesen, Kommandozeilenoptionen setzen
############################################################
# Fuer die Default-Instanz dasselbe wie in conf(), aber mit Pruefungen.
# Dateien einlesen
Config::Manager::Conf->add('t/conf_private.ini', 't/conf_public.ini') ? ok() : nok();
# Kommandozeilenargumente setzen
Config::Manager::Conf->set('INSTDIR', 'inst') ? ok() : nok();
############################################################
# Einfache Werte in Default-Section abfragen
############################################################
# Unbekannter Wert
defined conf()->get('TRALALA') ? nok() : ok();
defined Config::Manager::Conf->get('TRALALA') ? nok() : ok();
# Einfacher Wert
conf()->get('SYSDIR') eq 'sys' ? ok() : nok();
Config::Manager::Conf->get('SYSDIR') eq 'sys' ? ok() : nok();
# Einfacher Wert aus conf_private.ini
t/01_____config.t view on Meta::CPAN
conf()->get('A') eq 'a' ? ok() : nok();
Config::Manager::Conf->get('A') eq 'a' ? ok() : nok();
conf()->get('a') eq 'ach ja' ? ok() : nok();
Config::Manager::Conf->get('a') eq 'ach ja' ? ok() : nok();
# Schluessel darf auch mit $ beginnen
conf()->get('SONDERLOCKE') eq 'Key faengt mit $ an' ? ok() : nok();
Config::Manager::Conf->get('SONDERLOCKE') eq 'Key faengt mit $ an' ? ok() : nok();
############################################################
# Substitutionen in Default-Section abfragen
############################################################
# Einfache Substitution von zwei Werten
conf()->get('SYS') eq 'C:/sys' ? ok() : nok();
Config::Manager::Conf->get('SYS') eq 'C:/sys' ? ok() : nok();
conf()->get('TMP') eq 'C:/tmp' ? ok() : nok();
Config::Manager::Conf->get('TMP') eq 'C:/tmp' ? ok() : nok();
# Rekursive Substitution
conf()->get('WRK') eq 'C:/sys/wrk' ? ok() : nok();
t/01_____config.t view on Meta::CPAN
Config::Manager::Conf->error() eq "Configuration constant \$[ENV]{DAGOBERT} not found" ? ok() : nok();
################################################################################
# Zugriff auf SPECIAL-Werte #
################################################################################
############################################################
# Jahr, Monat, Tag
############################################################
# Ich kann hier aus naheliegenden Gruenden nicht auf konkrete Werte abfragen,
# daher pruefe ich nur, ob die Werte ueberhaupt vorhanden sind und ob ihr Format
# dem entspricht, was ich erwarte.
# Zugriff auf YEAR
$result = conf()->get('SPECIAL', 'YEAR');
length($result) == 4 ? ok() : nok();
$result >= 2000 ? ok() : nok();
$result = Config::Manager::Conf->get('SPECIAL', 'YEAR');
length($result) == 4 ? ok() : nok();
$result >= 2000 ? ok() : nok();
( run in 1.489 second using v1.01-cache-2.11-cpan-364913b4093 )