Config :: param.

Tudo o que você deseja fazer com parâmetros para o seu programa (ou outra pessoa)
Baixe Agora

Config :: param. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Thomas Orgis
  • Site do editor:
  • http://thomas.orgis.org/

Config :: param. Tag


Config :: param. Descrição

A tarefa básica é levar alguma descrição de parâmetros oferecidos e devolver um HASH Ref com valores para esses parâmetros, influenciados pelos arquivos de linha de comando e / ou configuração. O loop simples a partir de muitos anos atrás é sobre a solução mais abrangente para o espaço de parâmetro de um programa que estou ciente, enquanto ainda suporta o uso de um único tiro através de uma única chamada de função e uma descrição plana de parameters.config :: param. Parâmetros de linha de comando (um pouco flexível em relação ao número de "-", mas insistindo no sinal igual - nome = valor), definindo e lidando com os parâmetros padrão para gerar mensagens e parsas úteis, bem como gerar o parâmetro de linha de configuração. Processamento Opções de linha de comando / switches / parâmetros / ..., seja curto ou estilo curto, suporte de agrupamento de opções curtas. Interrete --Parm = valor / -p = valor com o efeito óbvio; Define a opção para 1 (que é verdade) quando apenas --option / -o é dado. Além disso, embora um pouco contra-intuitiva, mas uma espécie de padrão já e logicamente seguindo a ideia de que "-" é verdadeira, opção ++ / + o definirá o valor como 0 (falso). O formulário "--Parm Value" não é suportado como nenhuma maneira genérica à prova de bala simples de fazer isso se deparou com a minha mente. Há o problema fundamental de decidir se tivermos um valor de parâmetro ou alguns outros dados de linha de comando como um nome de arquivo para processar. Como esse problema ainda persiste com o "=" usado na tarefa quando se considera um arquivo com um nome como "--i_look_like_an_option", o que é perfeitamente possível, o param também parece "-" como um delimitador final para o parâmetro nomeado parte, que também é um comportamento bastante comum. Os argumentos da linha de comando após "-" ficar no array de entrada (geralmente @argv) e podem ser usados pelo programa de chamada. Os paramétricos analisados, bem como o "-" - "-" são removidos; Então, se você quiser reter o seu @Argv, basta fornecer uma cópia. Você pode ter escalares, hashes ou matrizes (referências, é claro) como valores para seus parâmetros. O tipo de hash / matriz é escolhido quando você fornece uma referência (anônimo) hash / matray como value padrão.Ahash valores são definidos através de prefixar uma tecla com o seguinte "=" antes do valor real: --Hashpar = nome = valualea nifty recurso é o apoio dos operadores. Em vez de --Parm = valor você pode fazer - carm. = Valor para anexar algo ao valor existente. Quando -P é a forma curta de --Parm, o mesmo acontece através de -p. = Valor ou, salvando um caractere, -p.Value (mas não --parm.value, aqui o ponto seria considerado parte do parâmetro nome). Então "--Parm = A --Parm. = B -P.C" Resultados no valor do Parm "ABC" .SynopsisJust Use o módulo, defina seus parâmetros Use Config :: Param; # As definições em matriz planas # Lembre-se: parâmetros Ajuda / h e config / i predefinido! Meu @pardef = ('Parm1', $ Default1, 'A', 'Ajuda texto para Scalar 1', 'Parm2', $ Default2, 'B', 'Ajuda Texto for Scalar 2', 'Parma', \ @Default 'A', 'Ajuda texto para a matriz A', 'Parmh', \ @defaultth, 'H', 'Ajuda texto para Hash H', 'Parmx', $ DefaultX ',' ',' ' escalar) '); e ligue para o analisador, $ parm_ref = config :: param :: get (@pardef); Imprimir "Valor do Parâmetro 'Parm1': $ parm_ref -> {parm1} \ n"; Imprimir "Conteúdos de Array 'Parma': @ {$ parm_ref -> {parma}} \ n"; possivelmente incluindo alguma configuração extra, my% config = ('Info' = "Texto de Informações do Programa", "Versão" = '1.2.3' # possivelmente mais chave de configuração / pares de valor); $ parm_ref = config :: parm :: get (\% config, @pardef); ou $ parm_ref = config ::am :: get :: get (\% config, @ pardef); ou $ parm_ref = config :: parm :: get (\% config, \ @ pardef, \ @ cmdline_args); A chamada mais complicada é essa, fazendo sentido apenas quando desabilitar a saída final: $ config {noExit} = 1; # ou nofinais $ parm_ref = config :: param :: get (\% config, \ @ pardef, \ @ cmdline_args, $ erros); Isso retornará uma contagem de erros encontrados (Bad Setup, Bad Line Args). Com a configuração padrão, a rotina não retornaria no erro, mas terminou o programa. Erros serão mencionados para stderr em qualquer caso.Finalmente, você pode usar um objeto CONFIG :: param para fazer qual config :: param :: # equivalente a # $ parm_ref = config :: param :: get (\% config, @ pardef); Meu $ pars = config :: Param-> Novo (\% config, \ @pardef); $ pars-> parse_args (\ @ argv); $ pars-> use_config_files (); $ pars-> aplicação_args (); $ pars-> final_action (); $ parm_ref = $ pars -> {param}; página inicial do produto


Config :: param. Software Relacionado