Config :: param

Todo lo que desea hacer con los parámetros para su programa (o de otra persona)
Descargar ahora

Config :: param Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Thomas Orgis
  • Sitio web del editor:
  • http://thomas.orgis.org/

Config :: param Etiquetas


Config :: param Descripción

La tarea básica es tomar alguna descripción de los parámetros ofrecidos y devolver un hash Ref con valores para estos parámetros, influenciados por la línea de comandos y / o los archivos de configuración. El simple bucle desde hace muchos años, ahora se trata de la solución más completa para el espacio de param de un programa en el que soy consciente, al tiempo que soporta el uso de un solo disparo a través de una sola llamada de función y una descripción plana de parámetros.config :: as controles de param. Los parámetros de la línea de comandos (algo flexibles con respecto al número de "-", pero insisten en el signo igual en --name = valor), definiendo y manejando los parámetros estándar para generar mensajes y parses de uso útil, así como también genera archivos de configuración. Procesamiento Procesamiento Opciones de línea de comandos / interruptores / parámetros / ..., ya sea un estilo corto o largo, que admite agrupamiento de opciones cortas. Interpree --Parm = valor / -p = valor con el efecto obvio; Se establece la opción a 1 (que es verdadera) cuando se justi ... se le da. Además, aunque algo contraria, pero una especie de estándar ya y lógicamente después de la idea de que "-" es cierta, ++ Option / + o establecerá el valor en 0 (Falso). El formulario "- ValorParm" no se admite como una forma genérica a prueba de balas simple de hacerlo. Existe el problema fundamental de decidir si tenemos un valor de parámetro o algunos datos de línea de comandos como un nombre de archivo para procesar. Dado que este problema aún persiste con el "=" utilizado en la asignación cuando se considera un archivo con un nombre como "--i_look_like_an_option", que es perfectamente posible, Param también se busca "-" como delimitador final para el parámetro nombrado Parte, que también es un comportamiento bastante común. Los argumentos de la línea de comandos después de "-" permanecer en la matriz de entrada (generalmente @argv) y pueden ser utilizados por el programa de llamadas. Los parámetros analizados, así como los "-" opcionales se eliminan; Por lo tanto, si desea conservar su @argv, simplemente proporcione una copia. Puede tener escalares, hashes o matrices (referencias, por supuesto) como valores para sus parámetros. El tipo de hash / matriz se elige cuando proporciona una referencia de hash / matriz (anónimas) como valor predeterminado. Los valores de moda se establecen a través de prefijarse una tecla con la siguiente "=" antes del valor real: --hashpar = Name = Valuea Nifty Feature es El apoyo de los operadores. En lugar de --Varm = valor, puede hacerlo. = Valor para agregar algo al valor existente. Cuando -p es la forma corta de --Parm, la misma sucede a través de -p. = Valor o, ahorrando un carácter, -p.Value (pero no --Parm.value, aquí, el punto se consideraría parte del parámetro nombre). Así que "--marm = a --Parm. = B -P.C" se traduce en el valor de la parm "ABC" .SynopsisSIsSIsJUST Utilice el módulo, defina sus parámetros Use Config :: Param; # Las definiciones en la matriz plana # Recuerden: ¿Los parámetros Ayuda / H y CONFIG / I estamos predefinidos! my @pardef = ('parm1', $ DEFAULTE1, 'A', 'Ayuda Texto para Scalar 1', 'Parm2', $ Predeterminado2, 'B', 'Ayuda Texto para Scalar 2', 'Parma', @ @defaulta , 'A', 'Ayuda Texto para la matriz A', 'Parmh', @defaulth, 'H', 'Ayuda Texto para el hash H', 'Parmx', $ DEFAULTX '', 'Ayuda texto para el último ( escalar) '); y llame al analizador, $ parm_ref = config :: param :: get (@pardef); Imprimir "Valor del parámetro 'PARM1': $ PARM_REF -> {PARM1} \ N"; Imprimir "Contenido de la matriz 'Parma': @ {$ PARM_REF -> {PARMA}} \ N"; Posiblemente incluyendo alguna configuración adicional, mi% Config = ('Info' => 'PROGRAM INFO TEXT', 'versión' => '1.2.3' # Posiblemente más personas de configuración / pares de valor); $ parm_ref = config :: param :: get (\% config, @pardef); o $ parm_ref = config :: param :: get (\% config, @ pardef); o $ parm_ref = config :: param :: get (\% config, \ @ pardef, @ cmdline_args); La llamada más complicada es esta, solo tiene sentido al deshabilitar la salida final: $ CONFIG {NOEXIT} = 1; # o nofinals $ parm_ref = config :: param :: get (\% config, \ @ pardef, \ @ cmdline_args, $ errores); Esto devolverá un recuento de errores encontrados (configuración mala, mala línea de comandos args). Con la configuración predeterminada, la rutina no volvería de error por error, pero finalizaría el programa. Los errores se mencionarán a STDERR en cualquier caso. En cualquier caso, puede usar un objeto de configuración :: Param para hacer qué configuración :: Param :: Obtener: # equivalente a # $ parm_ref = config :: param :: get (\% config, \ @ pardef); My $ Pars = Config :: Param-> Nuevo (\% config, @pardef); $ pars-> parse_args (\ @ argv); $ pars-> use_config_files (); $ pars-> apply_args (); $ pars-> final_action (); $ parm_ref = $ pars -> {param}; Página de inicio del producto


Config :: param Software relacionado