Author image Kent Fredric πŸ”₯🐢🍡πŸ”₯


Regexp::Grammars::Common::String - Some basic String parsing Rules for Regexp::Grammars


version 1.000002


    use Regex::Grammars;
    use Regexp::Grammars::Common::String;

    my $re = qr{


        <extends: Regexp::Grammars::Common::String>

    }x; #  don't forget the x!


    if( $content =~ $re ){
        print Dumper( \%/ ); # Praying Mantis operator!?


Regexp::Grammars is just too useful to not use, but too pesky and confusing for new people.

Some of the more complex things involve string extraction and escape-handling, and I seriously spent the better part 2 hours learning how to make this work. So, even if this module is not immediately useful, it may serve as an educational tool for others.

I probably should have delved deeper into the Regexp::Common Family, but I couldn't find one in there that did exactly what I wanted.

At present, this module only provides one rule, "String", but I will probably add a few more later.



    <extends: Regexp::Grammars::Common::String>



For parsing strings like so:

    "Hello"     => 'Hello'
    "Hel\lo"    => 'Hello'
    "Hel\\lo"   => 'Hel\lo'
    "Hel\"lo"   => 'Hel"lo'

It should do a reasonable job of picking up strings from files and properly returning their parsed contents.

It made sense to me to drop the excess \'s that are used for escaping, in order to get a copy of the string as it would be seen to anything else that parsed it properly and evaluated the escapes into characters.


Kent Fredric <>


This software is copyright (c) 2015 by Kent Fredric <>.

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