On 12/22/2010 03:26 PM, Øystein Torget wrote:

Det som jeg kunne ønsket var en type konfigurasjon à la Apache, hvor du har en master konfigurasjonsfil som inneholder defaults og ting som aldri endrer seg, og så lastes det etterpå inn site-spesifikke filer med direktiver som overstyrer de som ble definert i hovedfilen. På den måten ville filene for hver enkelt applikasjon bli redusert ganske dramatisk. Jeg støtter den. Det hadde vært veldig praktisk. Så vidt jeg husker fant Geir også en CPAN modul som støtter mer eller mindre det vi har fra før + denne muligheten. Var det Config::General eller noe slikt?

Jepp. Config::General bruker samme syntax og kan lese Apache-config 100%. Det innebærer at den bl.a. støtter følgende vi mangler i dag:

seksjoner og hierarkier, slik at ting blir gruppert logisk

blir lettere å diffe/finne igjen direktiver

overriding, så man kan sette defaults som overstyres per app

inkludering av andre filer, så hver app/site kun trenger å spesifisere det som er spesielt for denne

mulighet for å deklarere hash-strukturer som verdier, ikke bare strenger

(kjekt for coastlines i WMS, hvor jeg trenger å spesifisere ett kart for hver projeksjon)

sannsynligvis mulighet for en slags validering, selv om det ikke finnes noe schemaspråk

I tillegg har den som i dag here-documents, deklarering av variable som kan brukes i senere direktiver (à la [==xxx==], dog riktignok one-pass) etc.

Dette kan naturligvis ikke brukes fra annet enn Perl, men når PHP-delen er faset ut burde det være mulig å lage et Perlscript som trekker ut nødvendig info og genererer en defaults-fil som kan sources fra shellscripts.

http://search.cpan.org/~tlinden/Config-General-2.50/General.pm