2009-04-14 9 views
17

que tienen un programa que tiene que leer un archivo de configuración desde un script PHP, y una búsqueda rápida ha puesto de manifiesto que hay maneras de manejar los archivos de configuración en Perl docenas:¿Cómo gestiona los archivos de configuración en Perl?

Brian proporciona una visión general here.

Config :: Simple funcionará para mí, ya que el archivo existente es similar a INI. Sin embargo, estoy interesado en saber qué estilo usan regularmente las personas en su código.

+3

Tengo ambivalencia sobre esta pregunta: básicamente es una encuesta, y no es probable que obtenga suficientes respuestas para que tenga sentido. Sin embargo, el texto de la pregunta refleja el esfuerzo de investigación y proporciona excelentes recursos en sí mismo. La pregunta es más útil que sus respuestas :-P –

+0

Estaba tratando de usar Config: Abstract :: Ini, pero esta pregunta me llevó a algunos módulos mucho mejores. ¡Gracias! –

Respuesta

3

Una pregunta que usted tiene que hacer es ¿cuál es la audiencia? Es decir, ¿está contento con que su audiencia objetivo (usuarios/modificadores de archivos de configuración) cambie el código Perl o modifique un archivo similar a .INI? Eso ciertamente impulsará su decisión en cierto grado.

6

Una solución es usar Config::Any y dejar que el usuario elija entre muchas opciones. Personalmente, prefiero Config :: General.

+0

Segundo para Config :: General. Config :: Simple está bien, pero Config :: General todavía es muy fácil de usar y ofrece muchas más funciones. – jiggy

11

Me gusta bastante usar los archivos de configuración YAML. Los encuentro muy legibles y fáciles de manipular. Encajan naturalmente en Perl, así como las construcciones primarias son Arrays y Hashes.

+2

Full-blown YAML es una exageración grande y generalmente masiva para los archivos de configuración. YAML :: Tiny es generalmente suficiente. Es pequeño y se incluye fácilmente. –

+0

Además, puedes optar por YAML :: Any. Alcanzará cualquier módulo YAML disponible, y elegirá según esta preferencia: YAML :: XS> YAML :: Syck> YAML> YAML :: Tiny. – brunov

+0

YAML es desagradable de editar a mano (mover cosas implica ajustar los niveles de sangría y signos de puntuación que solo aparecen en las * primeras * líneas de agregados), y Perl tiene demasiados analizadores YAML ligeramente incompatibles. Lo cual es ayudado por el hecho de que YAML es realmente un lenguaje demasiado grande. – hobbs

2

Si la audiencia es técnica (se usa para estructuras de datos formateadas), entonces me gusta usar JSON para la configuración. En tu programa funcionará como si usaras YAML, pero para mí es más fácil de leer (y usamos muchos JSON de todos modos).

Si usa JSON :: XS, hay una opción "relajada" que permitirá comentarios y comas al final y tal en los archivos.

Cuestiones relacionadas