Gpotopt :: CommandlineExports.

Permitir que os superoutines dentro de um script exportam opções de linha comand com acabamento de conclusão automática
Baixe Agora

Gpotopt :: CommandlineExports. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Robert Haxton
  • Site do editor:
  • http://search.cpan.org/~rhaxton/

Gpotopt :: CommandlineExports. Tag


Gpotopt :: CommandlineExports. Descrição

GETOPT :: CommandlineExports é um módulo Perl destinado a fornecer a capacidade de ter um único script exportação muitos subcomandos de maneira consistente. No exemplo acima, o script é chamado "testcommandlineexports". Em uma linha de comando de estilo bash, os seguintes comandos funcionariam: testcommandlineExports Twoscalars --one "arg1" --two "arg2" e imprimiria: arg1, arg2while testcommandlineExports Twoscalars --two "arg2" imprimiria: Falta o argumento obrigatório: Twoscalars: --OneTestcommandLineExports Twoscalars também pode ser chamado através de uma interface CGI também. O princípio uso disso era fornecer um método fácil, consistente para fornecer capacidade de teste unitária para scripts. Também permite que um único script exporte vários subcomandos e, com a função de conclusão automática incluída, permite que os subcomandos e opções se integrem bem com o código Bash Shell.SynopsisEspample: Use rigoroso; use avisos; Use getopt :: commandlineeexports qw (Regac ParseargsBypposição Parseargs Checkargs $ ScriptName @exportedsubs% cmdlines); $ scriptName = QQ ; % cmdlines = (Twoscalars => , onhash => , onelist => ,); sub twoscalars {my% h = (one = >def, dois => undef, (parseargs \ @_, @ {$ cmdlines {twoscalars}}),); Imprimir "Twoscalars faltando argumento obrigatório: \ n". junte-se ("\ n", verpargs \% h). "\ n" se (checkargs \% h); return "$ h {one}, $ h {two} \ n"; } Sub onhash {my% h = (one = >def, (parseargs \ @_, @ {$ cmdlines {onhash}})); Imprimir "OneHash faltando argumento obrigatório: \ n". junte-se ("\ n", verpargs \% h). "\ n" se (checkargs \% h); Imprimir "onhash \ n"; Imprimir junção ("\ n", (% {$ h {one}})); } Sub Onelist {My% h = (One => Redef, (Parseargs \ @_, @ {$ cmdlines {onelist}}),); Imprimir "Oneelist faltando argumento obrigatório: \ n". junte-se ("\ n", verpargs \% h). "\ n" se (checkargs \% h); Imprimir "Onelist \ N"; Print Junte ("\ n", @ {$ h {one}}); } # A sub-rotina "principal". Não incluído no pacote, deve ser adicionado manualmente a um script se (definido $ argv ) {if (definido ({$ argv )) {nenhum estrito 'refs'; my $ subref = shift @argv; Imprimir junte ("\ n", $ subref (@Argv)). "\ n" a menos que $ subref = ~ / regac /; $ subref ($ ScriptName, \ @exportedsubs, \% cmdlines) se $ subref = ~ / regac /; saída 0; }} # alguns exemplos de teste de unidade: twoscalars "hello1", "hello2"; Twoscalars {One => "Hello1", dois => "Olá2"}; twoscalars "--one hello1 --two hello2"; twoscalars "--one", "hello1", "--two", "hello2"; twoscalars "--one", "hello1", "--two", "hello2", "--three", "olá3"; # reclama sobre "opção desconhecida: três homepage"


Gpotopt :: CommandlineExports. Software Relacionado