Konfigurationen nicht als JSON sondern als abstrakte Datentypen

Über das direkte Laden von Code aus Dateien

Perl ​kennt ​drei ​Möglichkeiten ​zum ​Einbinden ​von ​Code ​aus ​Dateien: ​use, ​require ​und ​do. ​Von ​Interesse ​zum ​Laden ​von ​Konfigurationen ​ist ​insbesondere ​do, ​wobei ​es ​von ​Vorteil ​ist, ​dass ​die ​Datei ​sofern ​sie ​im ​@INC ​Pfad ​liegt, ​ohne ​weitere ​Qualifizierung ​einer ​Pfadangabe ​geladen ​werden ​kann.

Mit ​jeder ​Anweisung
do ​"config.pm";

wird ​in ​der ​Datei ​conifg.pm ​notierter ​Code ​kompiliert ​und ​do ​kommt ​jedesmal ​aufs ​Neue ​mit ​dem ​Wert ​der ​in ​der ​letzten ​Zeile ​notierten ​Anweisung ​zurück. ​Stets ​muss ​die ​letzte ​Zeile ​einen ​Scalar ​liefen. ​Wenn ​also ​in ​der ​letzten ​Zeile ​notiert ​ist:

{ ​foo ​=> ​1, ​bar ​=> ​2 ​};

liefert ​do ​eine ​Referenz ​auf ​ebendiesen ​Hash. ​Da ​Referenzen ​Scalare ​sind ​und ​bekanntlich ​auch ​auf ​Arrays ​zeigen ​können, ​sind ​die ​Möglichkeiten ​zum ​Ablegen ​komplexer ​Datenstrukturen ​in ​Dateien ​praktisch ​unbegrenzt. ​Eine ​der ​möglichen ​Fehlerbehandlungen ​kann ​sich ​darauf ​beschränken, ​den ​Rückgabewert ​sowie ​-Typ ​zu ​überprüfen.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.