PPI::Token::Quote - String quote abstract base class
PPI::Token::Quote 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:
''
- 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).
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>
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 - 2008 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.