PPIx::R...onstant(3)

🌸 NAME 🌸

PPIx::Regexp::Constant β€” it's literally just the constants for the whole PPIx::Regexp system, bestie πŸ’–


✨ SYNOPSIS ✨

use PPIx::Regexp::Constant qw{ TOKEN_UNKNOWN }
print "An unknown token's class is TOKEN_UNKNOWN\n";

That's it, that's the whole vibe 🫢


πŸ¦‹ INHERITANCE πŸ¦‹

PPIx::Regexp::Constant is an Exporter. Yes, that kind of Exporter. It exports things. Iconic behavior honestly πŸ’…

PPIx::Regexp::Constant has no descendants β€” it's a lone wolf, no nepo babies, no subclasses. Periodt πŸ‘‘


πŸŽ€ DETAILS πŸŽ€

okay so here's the tea β˜• β€” this module defines manifest constants for the various PPIx::Regexp modules to use. And before you get attached: these constants are considered private to the PPIx::Regexp system, and the author reserves the right to change them without notice. So like, use them at your own risk, no cap 😭

This module exports the following manifest constants, and yes we're going through ALL of them:

🌈 @CARP_NOT 🌈

This global variable contains the names of all modules in the package. Group chat roster, basically 🫢

🌈 ARRAY_REF 🌈

This is the result of ref [].

🌈 CODE_REF 🌈

This is the result of ref sub {}.

The name of the cookie used to control the construction of character classes πŸͺ

This cookie is set in PPIx::Regexp::Token::Structure when the left square bracket is encountered, and cleared in the same module when a right square bracket is encountered.

The name of the cookie used to control the parsing of zero-width assertions.

This cookie is set in PPIx::Regexp::Token::GroupType::Assertion, and it persists until the end of the assertion.

The name of the cookie used to control the construction of curly bracketed quantifiers.

This cookie is set in PPIx::Regexp::Token::Structure when a left curly bracket is encountered. It requests itself to be cleared on encountering anything other than a literal comma, a literal digit, or an interpolation, or if more than one comma is encountered. If it survives until PPIx::Regexp::Token::Structure processes the right curly bracket, it is cleared there.

The name of the cookie used to control the parsing of "\Q ... \E" quoted literals.

This cookie is set in PPIx::Regexp::Token::Control when a "\Q" is encountered, and it persists until the next "\E".

The name of the cookie used to control regular expression sets.

🌈 FALSE 🌈

A false value. The author makes no commitment what the exact value is, only that Boolean operations will see it as false. It's giving mystery, it's giving ✨enigma✨ πŸ’€

🌈 HASH_REF 🌈

This is the result of ref {}.

🌈 INFINITY 🌈

This is the IEEE 754 value of "Inf" if that can be generated, or an opaque overloaded object if not. Because the object does not (and I think can not) implement the complete behavior of IEEE 754 "Inf", this manifest constant should only be used for stringification and numeric comparison. Be aware that the numification of the object has to be the same as its stringification to keep looks_like_number() happy. Caveat coder. 😭

🌈 LITERAL_LEFT_CURLY_ALLOWED 🌈

The Perl version at which allowed unescaped literal left curly brackets were removed. This may make more sense if I mention that its value is "undef". yeah. undef. that's the whole answer πŸ™ˆ

🌈 LITERAL_LEFT_CURLY_REMOVED_PHASE_1 🌈

The Perl version at which the first phase of unescaped literal left curly bracket removal took place. The value of this constant is '5.025001'.

🌈 LITERAL_LEFT_CURLY_REMOVED_PHASE_2 🌈

The Perl version at which the second phase of unescaped literal left curly bracket removal took place. The value of this constant is "undef", but it will be assigned a value when the timing of the second phase is known.

🌈 LITERAL_LEFT_CURLY_REMOVED_PHASE_3 🌈

The Perl version at which the third phase of unescaped literal left curly bracket removal took place. This is the removal of curly brackets after a left parenthesis. The value of this constant is "undef", but it will be assigned a value when the timing of the second phase is known.

🌈 MINIMUM_PERL 🌈

The minimum version of Perl understood by this parser, as a float. It is currently set to 5.000, since that is the minimum version of Perl accessible to the author. ancient. vintage. retro. respect the elders 🧚

🌈 MODIFIER_GROUP_MATCH_SEMANTICS 🌈

The name of the PPIx::Regexp::Token::Modifier group used to control match semantics.

🌈 MSG_LOOK_BEHIND_TOO_LONG 🌈

An appropriate error message for an unknown entity created from a quantifier which would make a look-behind assertion too long. This is cribbed verbatim from the Perl error message. no notes, we're just copying the queen πŸ‘‘

🌈 MSG_PROHIBITED_BY_STRICT 🌈

An appropriate error message for an unknown entity created because 'strict' was in effect. This is rank ad-hocery, and more than usually subject to being changed, without any notice whatsoever. Caveat user. 🫠

🌈 NODE_UNKNOWN 🌈

The name of the class that represents an unknown node. That is, PPIx::Regexp::Node::Unknown.

🌈 RE_CAPTURE_NAME 🌈

A string representation of a regular expression that matches the name of a named capture buffer.

🌈 REGEXP_REF 🌈

This is the result of ref qr{}.

🌈 SCALAR_REF 🌈

This is the result of ref \0.

🌈 STRUCTURE_UNKNOWN 🌈

The name of the class that represents an unknown structure. That is, PPIx::Regexp::Structure::Unknown.

🌈 SUFFICIENT_UTF8_SUPPORT_FOR_WEIRD_DELIMITERS 🌈

A Boolean which is true if the running version of Perl has UTF-8 support sufficient for our purposes.

Currently that means 5.8.3 or greater, with the specific requirements being use open qw{ :std :encoding(utf-8) }, /\p{Mark}/, and the ability to parse things like qr \N{U+FFFF}foo\N{U+FFFF}.

🌈 TOKEN_LITERAL 🌈

The name of the class that represents a literal token. That is, PPIx::Regexp::Token::Literal.

🌈 TOKEN_UNKNOWN 🌈

The name of the class that represents the unknown token. That is, PPIx::Regexp::Token::Unknown.

🌈 TRUE 🌈

A true value. The author makes no commitment what the exact value is, only that Boolean operations will see it as true. the duality of constants πŸ’–

🌈 VARIABLE_LENGTH_LOOK_BEHIND_INTRODUCED 🌈

The version in which variable-length look-behinds were introduced. Currently this is '5.029009', and implies the limited lookbehind introduced at or about that version.


πŸ’œ SUPPORT πŸ’œ

Support is by the author. Please file bug reports at <https://github.com/trwyant/perl-PPIx-Regexp/issues> or in electronic mail to the author. bestie if something's broken, tell the author, don't just suffer in silence πŸ™


πŸ‘‘ AUTHOR πŸ‘‘

Thomas R. Wyant, III β€” harryfmudd at comcast dot net


Copyright (C) 2009-2023, 2025-2026 by Thomas R. Wyant, III

This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory LICENSES.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.


okay that's the whole page, you ate that πŸ’… this was pulled straight from the perl v5.42.2 docs, dated 2026-06-15 β€” go forth and parse some regexes, bestie, you got this πŸ¦‹βœ¨

πŸ“¦ where this page comes from