Hi!
Eine Config, die rekursiv geparst werden muss ist nicht nur schlecht durchdacht, sondern unpraktikabel, wenn nicht sogar unbrauchbar.
Das halte ich für völlig falsch. Schau mal ein /etc eines beliebigen Unix-Systems. Da findest du genügend Beispiele von Konfigurationsdateien, die nicht nur Key-Value-Auflistungen sind, und das sicherlich aus guten Gründen, weil eine flache Struktur "unpraktikabel, wenn nicht sogar unbrauchbar" gewesen wäre. Wenn man deine Argumentation mal weiterdenkt, müsste das eigentlich für alle Arten von Daten gelten, inklusive Dateisysteme. Es wäre äußerst unpraktisch, da nur unverschachtelte Strukturen zu erlauben.
Best Practice: Die Daten stehen in festen Feldern like this:
'Authorization' => $cfg->{http}->{auth},
Und die festen Felder (auth) stehen angeordnet in Sektionen (http). Bei dieser einfachen Verschachtlung braucht man noch keine Rekursion. Aber was ist, wenn du noch weitere Verschachtlungsebenen brauchst, weil Untersektionen vielleicht doch für bestimmte Fälle praktisch wären?
Lo!