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


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


  isa PPI::Token
      isa PPI::Element


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

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

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

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 (the PPI::Token::HereDoc manpage).



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
  qq <foo>


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.


See the support section in the main module.


Adam Kennedy <adamk@cpan.org>


Copyright 2001 - 2006 Adam Kennedy.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

The full text of the license can be found in the LICENSE file included with this module.

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