PPI::Token::Quote::Single - A 'single quote' token


PPI documentation Contained in the PPI distribution.

Index


Code Index:

NAME

Top

PPI::Token::Quote::Single - A 'single quote' token

INHERITANCE

Top

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

SYNOPSIS

Top

  'This is a single quote'

  q{This is a literal, but NOT a single quote}

DESCRIPTION

Top

A PPI::Token::Quote::Single object represents a single quoted string literal.

METHODS

Top

There are no methods available for PPI::Token::Quote::Single beyond those provided by the parent PPI::Token::Quote, PPI::Token and PPI::Element classes.

Got any ideas for methods? Submit a report to rt.cpan.org!

SUPPORT

Top

See the support section in the main module.

AUTHOR

Top

Adam Kennedy <adamk@cpan.org>

COPYRIGHT

Top


PPI documentation Contained in the PPI distribution.
package PPI::Token::Quote::Single;

use strict;
use PPI::Token::Quote ();
use PPI::Token::_QuoteEngine::Simple ();

use vars qw{$VERSION @ISA};
BEGIN {
	$VERSION = '1.215';
	@ISA     = qw{
		PPI::Token::_QuoteEngine::Simple
		PPI::Token::Quote
	};
}





#####################################################################
# PPI::Token::Quote Methods

sub string {
	my $str = $_[0]->{content};
	substr( $str, 1, length($str) - 2 );
}

my %UNESCAPE = (
	"\\'"  => "'",
	"\\\\" => "\\",
);

sub literal {
	# Unescape \\ and \' ONLY
	my $str = $_[0]->string;
	$str =~ s/(\\.)/$UNESCAPE{$1} || $1/ge;
	return $str;
}

1;