D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
local
/
share
/
perl5
/
PPI
/
Token
/
Filename :
Quote.pm
back
Copy
package PPI::Token::Quote; =pod =head1 NAME PPI::Token::Quote - String quote abstract base class =head1 INHERITANCE PPI::Token::Quote isa PPI::Token isa PPI::Element =head1 DESCRIPTION The C<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 C<PPI::Token::Quote> are: =over 2 =item C<''> - L<PPI::Token::Quote::Single> =item C<q{}> - L<PPI::Token::Quote::Literal> =item C<""> - L<PPI::Token::Quote::Double> =item C<qq{}> - L<PPI::Token::Quote::Interpolate> =back 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 B<does> represent a literal string, it is such a nasty piece of work that in L<PPI> it is given the honor of its own token class (L<PPI::Token::HereDoc>). =head1 METHODS =cut use strict; use PPI::Token (); use vars qw{$VERSION @ISA}; BEGIN { $VERSION = '1.236'; @ISA = 'PPI::Token'; } ##################################################################### # PPI::Token::Quote Methods =pod =head2 string The C<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> =cut #sub string { # my $class = ref $_[0] || $_[0]; # die "$class does not implement method ->string"; #} =pod =head2 literal The C<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 C<\\> and C<\'> resolved to C<\> and C<'>. The C<literal> method is not implemented by ::Quote::Double or ::Quote::Interpolate yet. =cut 1; =pod =head1 SUPPORT See the L<support section|PPI/SUPPORT> in the main module. =head1 AUTHOR Adam Kennedy E<lt>adamk@cpan.orgE<gt> =head1 COPYRIGHT Copyright 2001 - 2011 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. =cut