Config :: Paramar

Alles wat u wilt doen met parameters voor uw programma (of iemand anders)
Download nu

Config :: Paramar Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Thomas Orgis
  • Uitgever website:
  • http://thomas.orgis.org/

Config :: Paramar Tags


Config :: Paramar Beschrijving

De basistaak is om een aantal beschrijving van de aangeboden parameters te nemen en een hash ref terug te sturen met waarden voor deze parameters, beïnvloed door de opdrachtregel en / of configuratiebestanden. De eenvoudige lus van vele jaren geleden gaat nu over de meest uitgebreide oplossing voor de paramruimte van een programma waarvan ik me bewust ben, terwijl ik nog steeds het gebruik van één keer ondersteunt via een enkele functie-oproep en een platte beschrijving van parameters.config :: PARAM-handgrepen Opdrachtregelparameters (enigszins flexibel met betrekking tot het aantal "-", maar aandringen op het gelijke aanmelding in - naam = waarde), definiëren en afhandelen van standaardparameters voor het genereren van nuttige gebruiksberichten en parsels en genereert configuratiebestanden.mand-parameter ProcessionProcess-opdrachtregelopties / schakelaars / parameters / ..., het zijn een korte of lange stijl, ondersteunende clustering van korte opties. Interpreteert - Parm = waarde / -P = waarde met het voor de hand liggende effect; Stelt optie in op 1 (wat waar is) wanneer gewoon - aanstelling / -o wordt gegeven. Ook, hoewel enigszins tegen intuïtief maar een soort van een standaard en logisch na het idee dat "-" waar is, is ++ optie / + o de waarde instellen op 0 (FALSE). Het formulier "- Parm-waarde" wordt niet ondersteund als geen enkele eenvoudige kogelvrije generieke manier om dat te doen, tegen mijn hoofd. Er is het fundamentele probleem om te beslissen of we een parameterwaarde of een aantal andere opdrachtregelgegevens hebben zoals een bestandsnaam om te verwerken. Aangezien dit probleem nog steeds aanhoudt met de "=" die wordt gebruikt in opdracht wanneer men een bestand overweegt met een naam zoals "--i_look_like_an_option", die perfect mogelijk is, kijkt Param ook uit voor "-" als een definitieve scheidingsteken voor de genoemde parameter deel, wat ook vrij algemeen gedrag is. De opdrachtregelargumenten na "-" verblijven in de ingangsarray (meestal @ARGV) en kunnen door het oproepprogramma worden gebruikt. De geparseerde parameters en de optionele "-" zijn verwijderd; Dus, als u uw @ARGV wilt behouden, geeft u gewoon een kopie. U kunt scala's, hashes of arrays (referenties, natuurlijk) als waarden voor uw parameters hebben. Het hash / array-type wordt gekozen wanneer u een (anonieme) hash / array-referentie als standaardwaarde opgeven. Hash-waarden worden ingesteld via Prefixing A-toets met het volgende "=" vóór de werkelijke waarde: --Hashpar = NAAM = Valuea Nifty-functie de ondersteuning van operators. In plaats van - Parm = waarde kunt u doen - Parm. = Waarde om iets aan de bestaande waarde toe te voegen. Wanneer -P de korte vorm van - Parm is, gebeurt hetzelfde via -P. = Waarde of, het opslaan van een teken, -p.value (maar niet - Parm.Value, hier zou de stip worden beschouwd als onderdeel van de parameter naam). Dus "- Parm = A - Parm. = B-P.C" resulteert in de waarde van PARM zijn "ABC" .Synopsisjust Gebruik de module, definieer uw parameters Gebruik configuratie :: paramariteit; # De definities in platte array # onthoud: parameters Help / H en Config / I zijn vooraf gedefinieerd! Mijn @Pardef = ('Parm1', $ Default1, 'A', 'Help Tekst voor Scalar 1', 'Parm2', $ Default2, 'B', 'Help Tekst voor Scalar 2', 'Parma', \ @Defaulta , 'A', 'Help-tekst voor array A', 'Parmh', \ @defaulth, 'H', 'Help Tekst voor Hash H', 'Parmx', $ DefaultX, '', 'Help tekst voor de laatste ( scalaire) '); en bel de parser, $ Parm_ref = Config :: PARAM :: KRIJG (@PARDEF); Print "waarde van parameter 'Parm1': $ Parm_ref -> {Parm1} \ N"; Print "Inhoud van array 'Parma': @ {$ Parm_ref -> {PARMA}} \ n"; Mogelijk inclusief een extra configuratie, mijn% config = ('info' => 'Programma-info tekst', 'versie' => '1.2.3' # Mogelijk meer configuratiekoets / waardeparen); $ PARM_REF = CONFIG :: PARAM :: KRIJG (\% Config, @Pardef); of $ Parm_ref = Config :: Paramer :: Get (\% config, \ @ PARDEF); of $ PARM_REF = CONFIG :: PARAM :: KRIJG (\% Config, \ @ PARDEF, \ @ CMDLINE_ARGS); De meest gecompliceerde oproep is dit, alleen zin in het uitschakelen van de uiteindelijke uitgang: $ configuratie {NoExit} = 1; # of nofinals $ parm_ref = config :: param :: Get (\% config, \ @ pardef, \ @ cmdline_args, $ fouten); Hierdoor wordt een telling van fouten aangetroffen (slechte installatie, slechte opdrachtregel Args). Met standaardconfiguratie zou de routine niet op de fouten worden aangetroffen, maar eindigt het programma. Fouten worden in ieder geval op Stderr genoemd. Finaal kunt u een configuratie gebruiken :: Paramobject om te doen WELKE CONFIG :: PARAM :: KRIJG DOONT: # Equivalent aan # $ Parm_ref = Config :: PARAM :: GET (\% config, \ @ PARDEF); Mijn $ Pars = Config :: Param-> Nieuw (\% config, \ @pardef); $ pars-> parse_args (\ @ argv); $ Pars-> Gebruik_config_files (); $ Pars-> Toepassing_Args (); $ pars-> final_action (); $ PARM_REF = $ PARS -> {PARAM}; Homepage van het product


Config :: Paramar Gerelateerde software