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.
--helpGibt eine kurze Hilfe mit den aktuellen Einstellungen aus
--versionGibt kurze Hinweise zum Programm und die Version aus.
--verboseErhöht den Umfang der Meldungen nach STDERR.
--no_verboseUnterdrückt die Ausgabe von Meldungen. Die Optionen --verbose und --no_verbose werden der Reihe nach ausgewertet.
--val VALDateipfad der Datei mit den einzusetzenden Werten (Werte-Datei).
--docroot DOCROOTDOCROOT ist der Wert, der für den Platzhalter ${docroot} eingesetzt wird, falls in der Datei VAL kein anderer Wert definiert wird.
--var VARDer 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.