Provided by: libpegex-perl_0.70-1_all bug


       Pegex::Regex - Use Pegex Like a Regex


               # Turn on Pegex regular expressions in lexical scope.
               use Pegex::Regex;
               my $grammar = qr{$grammar_text}x;
               $text =~ $grammar;
               my $result = \%/;

               # Turn off Pegex in this scope.
               no Pegex::Regex;


       This is a trivial sugar module that lets you use Pegex parser grammars like regular
       expressions, if you're into that kind of thing.

       This is basically a clone of Damian Conway's Regexp::Grammars module API.  You put a
       grammar into a "qr{...}x" and apply it the input string you want to parse. If the parse is
       successful, you get a data structure of the content in "%/".

       IMHO, building a recursive descent parser entirely inside of a regular expression, is not
       the clearest way to code. But, of course, TMTOWTDI. :)


       This module is just for experimental fun. See Pegex for the right way to use the Pegex
       parsing framework.


       Here's a Pegex::Regex code snippet:

           use Pegex::Regex;
           $text =~ qr{... Pegex grammar text ...};
           $data = \%/;

       And the equivalent Pegex code:

           use Pegex;
           my $data = pegex('... Pegex grammar text ...')->parse($text);


       This gateway drug, er, module, technically should not even work.

       It turns your "grammar inside a regexp" into a Pegex::Grammar using qr{} overloading, and
       then turns your regexp itself into a shim that calls the parse method for you. This is
       highly magical and technically makes a reentrant call to the regex engine, which is not
       supported yet. Use at your own risk.

       Better yet, do yourself a favor and learn how to use the Pegex toolset without this
       ::Regex sugar. ":-)"


       ·   Pegex

       ·   Regexp::Grammars


       Ingy döt Net <>


       Copyright 2010-2018. Ingy döt Net.

       This program is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.

       See <>