PPIx::Regexp::Constant(3p)

NAME
PPIx::Regexp::Constant - Constants for the PPIx::Regexp system

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

INHERITANCE
"PPIx::Regexp::Constant" is an Exporter.

"PPIx::Regexp::Constant" has no descendants.

DETAILS
This module defines manifest constants for use by the various "PPIx::Regexp" modules. These constants are to be considered private to the "PPIx::Regexp" system, and the author reserves the right to change them without notice.

This module exports the following manifest constants:

  @CARP_NOT
This global variable contains the names of all modules in the package.

  ARRAY_REF
This is the result of "ref []".

  CODE_REF
This is the result of "ref sub {}".

  COOKIE_CLASS
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.

  COOKIE_LOOKAROUND_ASSERTION
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.

  COOKIE_QUANT
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.

  COOKIE_QUOTE
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".

  COOKIE_REGEX_SET
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.

  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".

  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.

  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.

  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.

  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://rt.cpan.org/Public/Dist/Display.html?Name=PPIx-Regexp>, <https://github.com/trwyant/perl-PPIx-Regexp/issues>, or in electronic mail to the author.

AUTHOR
Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE
Copyright (C) 2009-2023, 2025 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.