logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

PPIx::Regexp::Token::Code - Represent a chunk of Perl embedded in a regular expression.

Author

       Thomas R. Wyant, III wyantatcpandotorg

Description

       This class represents a chunk of Perl code embedded in a regular expression. Specifically, it results
       from parsing things like

        (?{ code })
        (??{ code })

       or from the replacement side of an s///e. Technically, interpolations are also code, but they parse
       differently and therefore end up in a different token.

       This token may not appear inside a regex set (i.e. "(?[ ... ])". If found, it will become a
       "PPIx::Regexp::Token::Unknown".

Inheritance

       "PPIx::Regexp::Token::Code" is a PPIx::Regexp::Token.

       "PPIx::Regexp::Token::Code" is the parent of PPIx::Regexp::Token::Interpolation.

Methods

       This class provides the following public methods. Methods not documented here are private, and
       unsupported in the sense that the author reserves the right to change or remove them without notice.

   is_matcher
       This method returns "undef" because a static analysis can not in general tell whether an interpolated
       value matches anything.

   ppi
       This convenience method returns the PPI::Document representing the content. This document should be
       considered read only.

       Note that if the location of the invocant is available the PPI document will have stuff prefixed to it to
       make the location of the tokens in the new document consistent with the location. This "stuff" will
       include at least a "#line" directive, and maybe leading white space.

Name

       PPIx::Regexp::Token::Code - Represent a chunk of Perl embedded in a regular expression.

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.

Synopsis

        use PPIx::Regexp::Dumper;
        PPIx::Regexp::Dumper->new(
            'qr{(?{print "hello sailor\n"})}smx')->print;

See Also