=pod =for comment DO NOT EDIT. This Pod was generated by Swim v0.1.48. See http://github.com/ingydotnet/swim-pm#readme =encoding utf8 =head1 NAME Pegex::Regex - Use Pegex Like a Regex =head1 SYNOPSIS { # 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; } =head1 DESCRIPTION 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 L module API. You put a grammar into a C and apply it the input string you want to parse. If the parse is successful, you get a data structure of the content in C<%/>. IMHO, building a recursive descent parser entirely inside of a regular expression, is not the clearest way to code. But, of course, TMTOWTDI. :) =head1 NOTE This module is just for experimental fun. See L for the right way to use the Pegex parsing framework. =head1 TMTOWTDI 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); =head1 WARNING 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. C<:-)> =head1 SEE ALSO =over =item * L =item * L =back =head1 AUTHOR Ingy döt Net =head1 COPYRIGHT AND LICENSE Copyright 2010-2020. 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 L =cut