PPIx::Regexp::Token::Delimiter - Represent the delimiters of the regular expression
use PPIx::Regexp::Dumper;
PPIx::Regexp::Dumper->new( 'qr{foo}smx' )
->print();
PPIx::Regexp::Token::Delimiter
is a PPIx::Regexp::Token::Structure.
PPIx::Regexp::Token::Delimiter
has no descendants.
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.
This class provides no public methods beyond those provided by its superclass.
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 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 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.
Thomas R. Wyant, III wyant at cpan dot org
Copyright (C) 2009-2023 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.