Config :: Param.

Tutto ciò che vuoi fare con i parametri per il tuo programma (o qualcun altro)
Scarica ora

Config :: Param. Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Perl Artistic License
  • Prezzo:
  • FREE
  • Nome editore:
  • Thomas Orgis
  • Sito web dell'editore:
  • http://thomas.orgis.org/

Config :: Param. Tag


Config :: Param. Descrizione

L'attività di base è quella di prendere una descrizione dei parametri offerti e restituire un hash Ref con valori per questi parametri, influenzato dalla riga di comando e / o dai file di configurazione. Il ciclo semplice da molti anni fa è ora della soluzione più completa per lo spazio param del programma a cui sono a conoscenza, pur supportando l'utilizzo di un solo colpo tramite una singola funzione di funzione e una descrizione piatta di parametri.Config :: Param Maniglie Parametri della riga di comando (in qualche modo flessibili per quanto riguarda il numero di "-", ma insistendo sul valore uguale all'indirizzo --name = valore), definendo e gestire i parametri standard per la generazione di messaggi e parses di utilizzo utili, nonché generare file di configurazione.Command Parametro linea ELACCUationProcess Command Line Options / Interruttori / Parametri / ..., essere uno stile corto o lungo, supportando il clustering di opzioni brevi. Interpreta --Parm = valore / -p = valore con l'effetto ovvio; Imposta l'opzione su 1 (che è vera) quando viene fornita solo il just -option / -o. Inoltre, anche se un po 'controintuitivo ma tipo di standard già e logicamente seguendo l'idea che "-" è vero, ++ opzione / + o imposterà il valore su 0 (falso). Il modulo "- value) non è supportato come nessun semplice modo generico prolungato a prova di proiettile per farlo mi è venuto in mente. C'è il problema fondamentale di decidere se disponiamo di un valore di parametri o da alcuni altri dati della riga di comando come un nome file da elaborare. Poiché questo problema persiste ancora con "=" utilizzato nell'assegnazione quando si considera un file con un nome come "--i_look_like_an_option", che è perfettamente possibile, il parametro si affaccia anche per "-" come delimitatore finale per il parametro denominato parte, che è anche un comportamento abbastanza comune. Gli argomenti della riga di comando dopo "-" rimangono nell'array di input (di solito @argv) e può essere utilizzato dal programma chiamante. I parametri analizzati così come i "-" opzionali sono stati rimossi; Quindi, se vuoi conservare il tuo @ARGV, fornire solo una copia. Puoi avere scalari, hash o array (riferimenti, ovviamente) come valori per i tuoi parametri. Il tipo di hash / array viene scelto quando si fornisce un riferimento (anonimo) hash / array di riferimento come valore predefinito. I valori è impostato tramite il prefisso di una chiave con il seguente "=" prima del valore attuale: --Hashpar = Name = Valuea Nifty Feature è la funzione il supporto degli operatori. Invece di --Parm = valore è possibile fare fare --Parm. = Valore per aggiungere qualcosa al valore esistente. Quando -P è la forma corta di --Parm, lo stesso accade attraverso -p. = Valore o, salvando un carattere, -p.value (ma non --parm.Value, qui il punto sarebbe considerato parte del parametro nome). Quindi "--Parm = a --parm. = B -P.C" si traduce nel valore del parm essendo "abc" .synopsisisjust Utilizzare il modulo, definire i parametri utilizzano Config :: Param; # Le definizioni in Array flat # Ricorda: I parametri Guida / H e Config / I sono predefiniti! My @Pardef = ('Parm1', $ Default11, 'A', 'Aiuto testo per scalare 1', 'parm2', $ Default2, 'B', 'Aiuta il testo per Scale A 2', "Parma", \ @Defaraulta , "A", 'Aiuta il testo per l'array A "," Parmh ", \ @defaulth," h "," Aiuta il testo per hash h', 'parmx', $ defaultx, '' ',' Aiuta il testo per l'ultimo ( scalare) '); e chiamare il parser, $ parm_ref = config :: param :: Get (@Pardef); Stampa "Valore del parametro" Parm1 ': $ parm_ref -> {parm1} \ n "; Stampa "Contenuto dell'array 'Parma': @ {$ parm_ref -> {parma}} \ n"; possibilmente inclusa qualche configurazione aggiuntiva, my% config = ('info' => 'Info del programma testo', 'Version' => '1.2.3' # Possibilmente più chiave di configurazione / coppie di valore); $ parm_ref = config :: param :: get (\% config, @Pardef); o $ parm_ref = config :: param :: get (\% config, \ @ parder); o $ parm_ref = config :: param :: get (\% config, \ @ pardef, \ @ cmdline_args); La chiamata più complicata è questa, facendo solo il senso durante la disattivazione dell'uscita finale: $ Config {noexit} = 1; # o nofinali $ parm_ref = config :: param :: get (\% config, \ @ pardef, \ @ cmdline_args, $ errori); Ciò restituirà un conteggio degli errori riscontrati (cattiva configurazione, cattiva riga di comando args). Con la configurazione predefinita, la routine non ritorna sull'errore, ma termina il programma. Gli errori saranno menzionati a Stderr in qualsiasi caso.Finalmente, è possibile utilizzare un oggetto config :: param per fare quale configurazione :: Param :: Get fa: # equivalente a # $ parm_ref = config :: param :: Get (\% config, \ @ pardef); My $ Pars = Config :: Param-> Nuovo (\% config, \ @Pardef); $ Pars-> Parse_args (\ @ argv); $ Pars-> use_config_files (); $ Pars-> Apply_args (); $ Pars-> final_action (); $ parm_ref = $ pars -> {param}; homepage del prodotto


Config :: Param. Software correlato