Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Some basic String parsing Rules for Regexp::Grammars
Perl

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib/Regexp/Grammars/Common
maint
misc
t
.gitignore
.perltidyrc
.travis.yml
Changes
LICENSE
README.mkdn
dist.ini
dist.ini.meta
perlcritic.rc
weaver.ini

README.mkdn

NAME

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

VERSION

version 1.000002

SYNOPSIS

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

my $re = qr{

    (.*<[String]>)+

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

}x; #  don't forget the x!

    ...

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

DESCRIPTION

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.

GRAMMARS

Regexp::Grammars::Common::String

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

RULES

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.

AUTHOR

Kent Fredric kentnl@cpan.org

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Kent Fredric kentnl@cpan.org.

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

Something went wrong with that request. Please try again.