Config-Manager
view release on metacpan or search on metacpan
t/conf_public.ini view on Meta::CPAN
WRKDIR = wrk
# Einfacher Wert, Leerzeichen am Zeilenanfang
TMPDIR=tmp
# Einfacher Wert, wird durch Kommandozeile ueberschrieben
INSTDIR = instdir
# Substitution in der Default-Section
SYS = $DRIVE/$SYSDIR
# Substitution in der Default-Section, {}-Syntax
TMP = ${DRIVE}/${TMPDIR}
# Rekursive Substitution in der Default-Section
WRK = $SYS/$WRKDIR
# Und nochmal, weil's so schoen war ...
INST = $SYS/$INSTDIR
# Jetzt wird's richtig rekursiv ...
PATH = $WRK;$INST
# Leerer Wert
EMPTY = ""
# Wert enthaelt ein Gleichheitszeichen
ORWELL = 2+2=5
# Wert besteht aus drei Leerzeichen
SPACES1 = " "
SPACES2 = $EMPTY$SPACES1$EMPTY
# Einfache Anfuehrungszeichen: Keine Sonderbedeutung
SINGLE_QUOTES = 'tralala'
# Doppelte Anfuehrungszeichen als Begrenzer
QUOTES = "tralala"
# Nur ein Anfuehrungszeichen am Anfang: Keine Sonderbedeutung
FIRST_QUOTE = "tralala
# Nur ein Anfuehrungszeichen am Ende: Keine Sonderbedeutung
LAST_QUOTE = tralala"
# Anfuehrungszeichen im Text: Keine Sonderbedeutung
MID_QUOTE1 = tra"lala
MID_QUOTE2 = "tra"lala"
# Leerzeichen, Anfuehrungszeichen, Leerzeichen
MID_QUOTE3 = " " "
# Dollar
ESC_D = $$SYS
# Backslash und Substitution
ESC_BS = \$SYS
# Backslash und Dollar
ESC_BD = \$$SYS
# Backslash, Backslash, Substitution
ESC_BBS = \\$SYS
# Backslash, Backslash, Dollar
ESC_BBD = \\$$SYS
# Folgende Zeilen sind absichtlich leer, damit die Zeilennummerierung in meinen
# Testscripts nicht durcheinander geraet
# Substitution: Nur schliessende Klammer
S_C = $SYS}
# Qualifizierte Substitution: Nur schliessende Klammer
SQ_C = $[A]{HELLO}}
# Sonderlocke fuer Steffen Beyer :-)
$SONDERLOCKE = Key faengt mit $$ an
# Fuer jene Faelle, in denen versehentlich eine Section als Key interpretiert wird :-)
A = a
# Gross- und Kleinschreibung fuer Schluessel wird unterschieden
a = ach ja
# Die Katze beisst sich in den Schwanz
SIMPLE_LOOP = This is a $SIMPLE_LOOP
THIS = This $WILL loop
WILL = This $PATH will $LOOP
LOOP = $THIS will loop
THAT = And $THIS will loop, too
# EVERYWHERE gibt's in der Default-Section, in A und in B
EVERYWHERE = default
# Section ohne Inhalt ist unschaedlich
[NOPE]
[A]
# HELLO gibt's in A und B
HELLO = a_hello
# Gross- und Kleinschreibung fuer Schluessel
hello = oink
EVERYWHERE = at a
# Achtung, weiter unten wird diese Section noch fortgesetzt ...
[B]
# $[B]{HELLO} wird durch conf_private.ini ueberschrieben
HELLO = no-no
EVERYWHERE = at b
[a]
# Gross- und Kleinschreibung fuer Sections
HELLO = oink
[A]
# Hier geht's weiter mit Section A
A = a, too
EXCLUSIVE = XA
[ANYTHING]
EVERYWHERE1 = %$EVERYWHERE%
EVERYWHERE2 = %${EVERYWHERE}%
EVERYWHERE3 = %$[A]{EVERYWHERE}%
EVERYWHERE4 = %$[A]EVERYWHERE%
EVERYWHERE5 = %$[B]EVERYWHERE%
EVERYWHERE6 = %$[B]{EVERYWHERE}%
HELLO1 = %$HELLO%
HELLO2 = %${HELLO}%
HELLO3 = %$[A]HELLO%
HELLO4 = %$[A]{HELLO}%
HELLO5 = %$[B]HELLO%
HELLO6 = %$[B]{HELLO}%
A1 = %$A%
A2 = %${A}%
A3 = %$[A]A%
A4 = %$[A]{A}%
A5 = %$[B]A%
A6 = %$[B]{A}%
EXCLUSIVE1 = %$EXCLUSIVE%
EXCLUSIVE2 = %${EXCLUSIVE}%
EXCLUSIVE3 = %$[A]EXCLUSIVE%
EXCLUSIVE4 = %$[A]{EXCLUSIVE}%
EXCLUSIVE5 = %$[B]EXCLUSIVE%
EXCLUSIVE6 = %$[B]{EXCLUSIVE}%
HURZ1 = %$HURZ%
HURZ2 = %${HURZ}%
HURZ3 = %$[A]HURZ%
HURZ4 = %$[A]{HURZ}%
[WITH-SLASH]
FOR-EXAMPLE = -
T-1 = A${FOR-EXAMPLE}Z
T-2 = A$[WITH-SLASH]{FOR-EXAMPLE}O
T-3 = +$FOR-EXAMPLE
T-4 = 4$[WITH-SLASH]FOR-EXAMPLE
T-5 = 5$FOR-EXAMPLE;
T-6 = 6$[WITH-SLASH]FOR-EXAMPLE;
# Es folgen Tests fuer den Zugriff auf die eigene Section
[A1]
A = a1>$[A2]B
B = b1
C = c1
D = d1
[A2]
A = a2
B = b2>$C
C = c2>$[A3]D
D = d2
[A3]
A = a3
B = b3
C = c3
D = d3>$A
# Es folgen Tests fuer indirekte Substitution
[WHO]
USER = FRITZ
NAME = $[${USER}]{NAME}
name = $[$[WHO]{USER}]{NAME}
IQ = ${$[USER]{IQ}}
ZERO = 0
XYZ = ${$USER}
xyz = ${$[WHO]{USER}}
XXX = $[WHO]{$USER}
xxx = $[WHO]{$[WHO]{USER}}
FRITZ = fritz
UVW = $[${USER}]{$USER}
uvw = $[$[WHO]{USER}]{$[WHO]{USER}}
[FRITZ]
NAME = Fritz Fischer
FRITZ = fritzfritz
[USER]
IQ = ZERO
( run in 0.642 second using v1.01-cache-2.11-cpan-14f38c9f855 )