replace.pl
[ --verbose
... | --no_verbose
] [ --val
VAL
] [ --docroot
DOCROOT
] [ --var
VAR
...]
cat datei/mit/platzhaltern \ | replace.pl --val datei/mit/werten \ > datei/mit/eingesetzen/werten ;
Dieses Skript ersetzt Platzhalter der Form ${
durch Werte NAME
}WERT
, die aus einer Werte-Datei gelesen werden. NAME
ist eine Folge von Buchstaben, Ziffern und Zeichen _
(Unterstrich), .
(Punkt) und -
(Minus-Zeichen).
Es liest den Text mit Platzhalter aus der Standard-Eingabe und gibt den Text mit den eingesetzten Werten an die Standard-Ausgabe aus.
Die Werte-Datei enthält die Werte zu den Platzhaltern in Zeilen der Form
NAME
=WERT
Leerzeichen am Anfang und am Ende der Zeile werden entfernt. Folgen von Leerzeichen unmittelbar vor und nach dem Zeichen =
werden ignoriert. Zeilen, die nicht so aufgebaut sind, werden ignoriert.
Ein Beispiel für eine Datei mit Platzhaltern ist MySQLLookup_setup.sql
. Ein Beispiel für eine Werte-Datei ist secrets
.
Das Skript nutzt das Modul Herbaer::Replace
(Datei Replace.pm
(Quelltext)). Es ist mit Perl 5.10.1 getestet.
--help
Gibt eine kurze Hilfe mit den aktuellen Einstellungen aus
--version
Gibt kurze Hinweise zum Programm und die Version aus.
--verbose
Erhöht den Umfang der Meldungen nach STDERR.
--no_verbose
Unterdrückt die Ausgabe von Meldungen. Die Optionen --verbose
und --no_verbose
werden der Reihe nach ausgewertet.
--val
VAL
Dateipfad der Datei mit den einzusetzenden Werten (Werte-Datei).
--docroot
DOCROOT
DOCROOT
ist der Wert, der für den Platzhalter ${docroot}
eingesetzt wird, falls in der Datei VAL
kein anderer Wert definiert wird.
--var
VAR
Der Platzhalter ${
wird durch den Wert ersetzt, der in der Datei PLATZHALTER
}VAL
unter dem Schlüssel
eingetragen ist, falls dieser existiert. Andernfalls wird der Wert eingesetzt, der unter dem Schlüsseö PLATZHALTER
.VAR
eingetragen ist.PLATZHALTER
Dieses Argument wird z.B. benutzt, um in .htaccess-Dateien abhängig vom Server (lokal oder entfernt) den Pfad für das Dokument-Wurzelverzeichnis einzusetzen, während die meisten anderen Platzhalter gleich sind.