| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: perl-PPIx-Regexp | Distribution: openSUSE Tumbleweed |
| Version: 0.91.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Thu Oct 9 22:26:29 2025 |
| Group: Unspecified | Build host: reproducible |
| Size: 631333 | Source RPM: perl-PPIx-Regexp-0.91.0-1.1.src.rpm |
| Packager: http://bugs.opensuse.org | |
| Url: https://metacpan.org/release/PPIx-Regexp | |
| Summary: Parse regular expressions | |
The purpose of the _PPIx-Regexp_ package is to parse regular expressions in a manner similar to the way the PPI package parses Perl. This class forms the root of the parse tree, playing a role similar to PPI::Document. This package shares with PPI the property of being round-trip safe. That is, my $expr = 's/ ( \d+ ) ( \D+ ) /$2$1/smxg'; my $re = PPIx::Regexp->new( $expr ); print $re->content() eq $expr ? "yes\n" : "no\n" should print 'yes' for any valid regular expression. Navigation is similar to that provided by PPI. That is to say, things like 'children', 'find_first', 'snext_sibling' and so on all work pretty much the same way as in PPI. The class hierarchy is also similar to PPI. Except for some utility classes (the dumper, the lexer, and the tokenizer) all classes are descended from PPIx::Regexp::Element, which provides basic navigation. Tokens are descended from PPIx::Regexp::Token, which provides content. All containers are descended from PPIx::Regexp::Node, which provides for children, and all structure elements are descended from PPIx::Regexp::Structure, which provides beginning and ending delimiters, and a type. There are two features of PPI that this package does not provide - mutability and operator overloading. There are no plans for serious mutability, though something like PPI's 'prune' functionality might be considered. Similarly there are no plans for operator overloading, which appears to the author to represent a performance hit for little tangible gain.
Artistic-1.0 OR GPL-1.0-or-later
* Thu Oct 09 2025 Tina Müller <timueller+perl@suse.de>
- updated to 0.91.0 (0.091)
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.091 2025-10-06 T. R. Wyant
Code review on use of 'PPI::Document'. I concluded it was not needed
in PPIx::Regexp::Token::Interpolation and
PPIx::Regexp::Token::Literal, but that it needed to be added to
PPIx::Regexp::Tokenizer. The purpose of this release is to submit
the changes to the tender mercies of the CPAN testers.
0.090_01 2025-09-27 T. R. Wyant
Avoid "Possible attempt to escape whitespace" warning, which is
emitted in perl-5.43.2 and forward. Thanks to James E. Keenan for
the pull request.
0.090 2025-09-21 T. R. Wyant
Explain s///eee... Perl commit 040a4d7 (perlop: properly document
s///e modifier) by mauke, makes perlop explicitly state that more
than 2 'e' modifiers are permitted, and cause the result of the
expression to be eval-ed n-1 times, where n is the number of 'e'
modifiers.
Fix typo in comment. Thanks to Michal Josef Špaček for picking this
up and providing the pull request.
* Mon May 19 2025 Tina Müller <timueller+perl@suse.de>
- updated to 0.89.0 (0.089)
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.089 2025-05-18 T. R. Wyant
The /x modifier should not affect the parse of the replacement
string in a substitution operator. That is, the '#' in s/x/#/x does
NOT introdice a comment.
Correct POD link in PPIx::Regexp::Token::Literal.
Annotate sub class(), since with Perl 5.38 it is a built-in.
* Wed Mar 01 2023 Tina Müller <timueller+perl@suse.de>
- updated to 0.088
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.088 2023-02-28 T. R. Wyant
Remove support for (**{ ... code ... }). This was introduced in
Perl 5.37.8 along with a single-splat version. The double-splat
version was removed without deprecation in Perl 5.37.9, so it is
being removed without deprecation here as well, per my stated policy
about development functionality. The single-splat version still
exists (and is documented) in Perl 5.37.9, and in this package.
* Sun Jan 29 2023 Tina Müller <timueller+perl@suse.de>
- updated to 0.087
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.087 2023-01-28 T. R. Wyant
Add support for code in optimized regex, a.k.a. (*{...}). This
involved making the recognition of backtracking control more
specific, since it also uses (?*...).
If (*{...}) and (**{...}) are removed from Perl before Perl 5.38.0,
support for them will be removed from this package.
* Wed Dec 14 2022 Tina Müller <timueller+perl@suse.de>
- updated to 0.086
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.086 2022-12-13 T. R. Wyant
Add width(), which returns the number of characters matched. Note
that an indefinite upper boumd is represented as IEEE 754 Inf if
that appears to be supported; otherwise by a singleton object
overloaded to allow stringification, numification, and numeric
tests.
Use width() to enhance the detection of variable-width look-behinds.
Serious clean-up on accepts_perl() subsystem.
* Sun Apr 17 2022 Tina Müller <timueller+perl@suse.de>
- updated to 0.085
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.085 2022-04-16 T. R. Wyant
Remove 'postderef' argument to PPIx::Regexp->new(). Postfix
dereference is always recognized.
* Wed Apr 06 2022 Tina Müller <timueller+perl@suse.de>
- updated to 0.084
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.084 2022-04-02 T. R. Wyant
Require PPI 1.238 for postfix deref support, and recode the
postfix deref logic in terms of 1.238's functionality.
Parse '@{[ ... ]}' as code, not interpolation. This is more in line
with what it actually represents, and allows correct versioning of
postfix dereferences. But is is an incompatible change.
* Fri Mar 18 2022 Tina Müller <timueller+perl@suse.de>
- updated to 0.083
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.083 2022-03-17 T. R. Wyant
Correct and optimize the computation of logical column position (the
one that takes account of tabs).
* Tue Nov 30 2021 Tina Müller <timueller+perl@suse.de>
- updated to 0.082
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.082 2021-11-29 T. R. Wyant
Add --version to eg/predump, and document all options with double
dashes.
Silence 'uninitialized' warning generated by /(?<=.{35})/.
Thanks to Brian Fraser for reporting this.
Try to quell weird Win32 test failures which seem to occur only in
tests where I am using 'use open' to put the standard handles into
UTF-8 mode. The fix (I hope) is to do this to the Test::Harness
handles at run time instead of to the standard handles at compile
time.
Add file CONTRIBUTING.
* Sat Oct 23 2021 Tina Müller <timueller+perl@suse.de>
- updated to 0.081
see /usr/share/doc/packages/perl-PPIx-Regexp/Changes
0.081 2021-10-22 T. R. Wyant
Any use of the postderef argument is now fatal.
Correct generation of 'provides' metadata. Thanks to Favio Poletti
for blogging
https://github.polettix.it/ETOOBUSY/2021/06/15/the-real-pause-workaround/,
and ultimately to Joel Berger for the pointer to
https://metacpan.org/pod/CPAN::Meta::Spec#no_index
Add YAPE::Regex to SEE ALSO
/usr/lib/perl5/vendor_perl/5.42.0/PPIx /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Constant.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Dumper.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Element.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Lexer.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Node /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Node.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Node/Range.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Node/Unknown.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Assertion.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Atomic_Script_Run.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/BranchReset.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Capture.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/CharClass.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Code.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Main.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Modifier.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/NamedCapture.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Quantifier.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/RegexSet.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Regexp.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Replacement.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Script_Run.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Subexpression.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Switch.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Structure/Unknown.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Support.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Assertion.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Backreference.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Backtrack.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass/POSIX /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass/POSIX.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass/POSIX/Unknown.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/CharClass/Simple.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Code.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Comment.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Condition.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Control.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Delimiter.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Greediness.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Assertion.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Atomic_Script_Run.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/BranchReset.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Code.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Modifier.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/NamedCapture.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Script_Run.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Subexpression.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/GroupType/Switch.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Interpolation.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Literal.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Modifier.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/NoOp.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Operator.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Quantifier.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Recursion.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Reference.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Structure.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Unknown.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Unmatched.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Token/Whitespace.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Tokenizer.pm /usr/lib/perl5/vendor_perl/5.42.0/PPIx/Regexp/Util.pm /usr/share/doc/packages/perl-PPIx-Regexp /usr/share/doc/packages/perl-PPIx-Regexp/CONTRIBUTING /usr/share/doc/packages/perl-PPIx-Regexp/Changes /usr/share/doc/packages/perl-PPIx-Regexp/README /usr/share/doc/packages/perl-PPIx-Regexp/SECURITY /usr/share/man/man3/PPIx::Regexp.3pm.gz /usr/share/man/man3/PPIx::Regexp::Constant.3pm.gz /usr/share/man/man3/PPIx::Regexp::Dumper.3pm.gz /usr/share/man/man3/PPIx::Regexp::Element.3pm.gz /usr/share/man/man3/PPIx::Regexp::Lexer.3pm.gz /usr/share/man/man3/PPIx::Regexp::Node.3pm.gz /usr/share/man/man3/PPIx::Regexp::Node::Range.3pm.gz /usr/share/man/man3/PPIx::Regexp::Node::Unknown.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Assertion.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Atomic_Script_Run.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::BranchReset.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Capture.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::CharClass.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Code.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Main.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Modifier.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::NamedCapture.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Quantifier.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::RegexSet.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Regexp.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Replacement.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Script_Run.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Subexpression.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Switch.3pm.gz /usr/share/man/man3/PPIx::Regexp::Structure::Unknown.3pm.gz /usr/share/man/man3/PPIx::Regexp::Support.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Assertion.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Backreference.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Backtrack.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::CharClass.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::CharClass::POSIX.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::CharClass::POSIX::Unknown.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::CharClass::Simple.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Code.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Comment.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Condition.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Control.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Delimiter.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Greediness.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Assertion.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Atomic_Script_Run.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::BranchReset.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Code.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Modifier.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::NamedCapture.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Script_Run.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Subexpression.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::GroupType::Switch.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Interpolation.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Literal.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Modifier.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::NoOp.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Operator.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Quantifier.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Recursion.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Reference.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Structure.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Unknown.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Unmatched.3pm.gz /usr/share/man/man3/PPIx::Regexp::Token::Whitespace.3pm.gz /usr/share/man/man3/PPIx::Regexp::Tokenizer.3pm.gz /usr/share/man/man3/PPIx::Regexp::Util.3pm.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Thu Oct 23 22:37:43 2025