Source: libregexp-grammars-perl Section: perl Priority: optional Build-Depends: debhelper (>= 10), libmodule-build-perl Build-Depends-Indep: libb-hooks-parser-perl (>= 0.16), libtest-pod-perl, perl, perl (>= 5.20) | perl (<< 5.18) Maintainer: Debian Perl Group Uploaders: Salvatore Bonaccorso Standards-Version: 4.2.1 Homepage: https://metacpan.org/release/Regexp-Grammars Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libregexp-grammars-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libregexp-grammars-perl.git Testsuite: autopkgtest-pkg-perl Rules-Requires-Root: no Package: libregexp-grammars-perl Architecture: all Depends: libb-hooks-parser-perl (>= 0.16), perl (>= 5.20) | perl (<< 5.18), ${misc:Depends}, ${perl:Depends} Description: Perl module to add grammatical parsing features to Perl 5.10 regexes Regexp::Grammars adds a small number of new regex constructs that can be used within Perl 5.10 patterns to implement complete recursive-descent parsing. . Perl 5.10 already supports recursive=descent matching, via the new (?...) and (?&name) constructs. This technique makes it possible to use regexes to recognize complex, hierarchical--and even recursive-- textual structures. The problem is that Perl 5.10 doesn't provide any support for extracting that hierarchical data into nested data structures. In other words, using Perl 5.10 you can match complex data, but not parse it into an internally useful form. . An additional problem when using Perl 5.10 regexes to match complex data formats is that you have to make sure you remember to insert whitespace- matching constructs (such as \s*) at every possible position where the data might contain ignorable whitespace. This reduces the readability of such patterns, and increases the chance of errors (typically caused by overlooking a location where whitespace might appear). . The Regexp::Grammars module solves both those problems.