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

PPI::Token::Quote - String quote abstract base class

Author

       Adam Kennedy <adamk@cpan.org>

Description

       The "PPI::Token::Quote" class is never instantiated, and simply provides a common abstract base class for
       the four quote classes.  In PPI, a "quote" is limited to only the quote-like things that themselves
       directly represent a string. (although this includes double quotes with interpolated elements inside
       them, note that String::InterpolatedVariables allows to extract them).

       The subclasses of "PPI::Token::Quote" are:

       '' - PPI::Token::Quote::Single
       "q{}" - PPI::Token::Quote::Literal
       "" - PPI::Token::Quote::Double
       "qq{}" - PPI::Token::Quote::Interpolate

       The  names  are  hopefully  obvious  enough  not  to  have  to explain what each class is here. See their
       respective pages for more details.

       Please note that although the here-doc does represent a literal string, it is such a nasty piece of  work
       that in PPI it is given the honor of its own token class (PPI::Token::HereDoc).

Inheritance

         PPI::Token::Quote
         isa PPI::Token
             isa PPI::Element

Methods

string
       The  "string"  method  is  provided by all four ::Quote classes. It won't get you the actual literal Perl
       value, but it will strip off the wrapping of the quotes.

         # The following all return foo from the ->string method
         'foo'
         "foo"
         q{foo}
         qq <foo>

   literal
       The "literal" method is provided by ::Quote::Literal and ::Quote::Single.  This returns the value of  the
       string as Perl sees it: without the quote marks and with "\\" and "\'" resolved to "\" and "'".

       The "literal" method is not implemented by ::Quote::Double or ::Quote::Interpolate yet.

Name

       PPI::Token::Quote - String quote abstract base class

Support

       See the support section in the main module.

See Also