PPI::Token::Quote3pm
String quote abstract base class
Inheritance
PPI::Token::Quoteisa PPI::Tokenisa PPI::Element
Overview
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).
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.
Support
See the support section in the main module.
Releases
11 releases since Debian 4.0 (Etch); the text changed 10 times.