Yaml :: logic

Simple Boolean Logic in Yaml
Download nu

Yaml :: logic Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Michael Schilli
  • Uitgever website:
  • http://search.cpan.org/~mschilli/

Yaml :: logic Tags


Yaml :: logic Beschrijving

Eenvoudige Booleaanse logica in YAML YAML :: Logic is een PERL-module waarmee gebruikers een eenvoudige Booleaanse logica in een configuratiebestand kunnen definiëren, zonder dat ze toestaan dat ze willekeurige code uitvoeren. Aanvullende Perl-code kan worden bestuurd met de veilige module, veilig kan de gebruiker niet voorkomen dat de gebruiker oneindig kan voorkomen Loops, vermoeiend alle beschikbare geheugen of het crashen van de tolk door bekende perl-insecten te exploiteren. YAML :: Logic is ook niet perfect in dit opzicht, maar het maakt het redelijk moeilijk om schadelijke code te definiëren. De syntaxis voor de Booleaanse logica in een YAML-bestand is geïnspireerd door John Siracusa's Rose :: DB :: Object :: Querybuilder Module , dat gegevensstructuren biedt om logica te definiëren die vervolgens wordt omgezet in SQL. YAML :: Logic neemt in plaats daarvan de gegevensstructuur en transformeert deze in perl-code. Voorbeeld, de gegevensstructuur om te controleren of een variabele $ var is gelijk aan een waarde "foo", ziet er als volgt uit: [$ Var, "Foo" Het is een verwijzing naar een array die zowel de waarde van de variabele als de waarde bevat om deze te vergelijken met. In YAML ziet dit eruit als regel: - $ Var - FOOEAND Dit is precies de syntaxis die YAML :: Logic accepteert. Merk op dat u na het parseren van de YAML-configuratie hierboven alleen de array Ref in het regelinvoer naar YAML :: Logic's Evaluate () -methode: $ Logic-> Evalueren ($ YAML_DATA -> {regel}, ... het passeren van de Volledige YAML-gegevens zouden een fout veroorzaken met YAML :: Logic, omdat het verwacht een array Ref.Synopsis te ontvangen. Gebruik YAML :: SYCK QW (LADING); gebruik YAML :: LOGICE; MIJN $ LOGIC = YAML :: LOGIC-> NIEUW (); ### Tests die ergens in een YAML-bestand zijn gedefinieerd ... My $ Data = Load (q {# is $ var gelijk aan "foo"? Regel: - $ var - foo}); ### Tests uitgevoerd in Toepassingscode: if ($ Logic-> Evalueer ($ Gegevens -> {regel}, {var => "foo"})) {print "TRUE! "; } Vereisten: · Perl


Yaml :: logic Gerelateerde software