Scroll to navigation

PPIx::Regexp::Token::Delimiter(3pm) User Contributed Perl Documentation PPIx::Regexp::Token::Delimiter(3pm)

NAME

PPIx::Regexp::Token::Delimiter - Represent the delimiters of the regular expression

SYNOPSIS

 use PPIx::Regexp::Dumper;
 PPIx::Regexp::Dumper->new( 'qr{foo}smx' )
     ->print();

INHERITANCE

"PPIx::Regexp::Token::Delimiter" is a PPIx::Regexp::Token::Structure.

"PPIx::Regexp::Token::Delimiter" has no descendants.

DESCRIPTION

This token represents the delimiters of the regular expression. Since the tokenizer has to figure out where these are anyway, this class is used to give the lexer a hint about what is going on.

METHODS

This class provides no public methods beyond those provided by its superclass.

perl_version_introduced

Experimentation with weird delimiters shows that they did not actually work until Perl 5.8.3, so we return '5.008003' for such delimiters.

perl_version_removed

Perl 5.29.0 made fatal the use of non-standalone graphemes as regular expression delimiters. Because non-characters and permanently unassigned code points are still allowed per perldeprecation, I take this to mean characters that match "/\p{Mark}/" (i.e. combining diacritical marks). But this regular expression does not compile under Perl 5.6.

So:

This method returns '5.029' for such delimiters provided the requisite regular expression compiles. Otherwise it return "undef".

SUPPORT

Support is by the author. Please file bug reports at <http://rt.cpan.org>, or in electronic mail to the author.

AUTHOR

Thomas R. Wyant, III wyant at cpan dot org

COPYRIGHT AND LICENSE

Copyright (C) 2009-2019 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.

2019-04-03 perl v5.28.1