File Coverage

blib/lib/PPI/Token/_QuoteEngine/Simple.pm
Criterion Covered Total %
statement 21 21 100.0
branch 6 10 60.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 31 36 86.1


line stmt bran cond sub pod time code
1             package PPI::Token::_QuoteEngine::Simple;
2              
3             # Simple quote engine
4              
5 65     65   379 use strict;
  65         123  
  65         1511  
6 65     65   22525 use PPI::Token::_QuoteEngine ();
  65         151  
  65         9332  
7              
8             our $VERSION = '1.276';
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 11872     11872 0 16185 my $class = shift;
14 11872 50       20422 my $separator = shift or return undef;
15              
16             # Create a new token containing the separator
17             ### This manual SUPER'ing ONLY works because none of
18             ### Token::Quote, Token::QuoteLike and Token::Regexp
19             ### implement a new function of their own.
20 11872 50       22151 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 11872         26067 $self->{separator} = $separator;
22              
23 11872         27512 $self;
24             }
25              
26             sub _fill {
27 11871     11871   14958 my $class = shift;
28 11871         13861 my $t = shift;
29 11871 50       24759 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 11871         22995 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 11871 50       23446 return undef unless defined $string;
34 11871 100       19570 if ( ref $string ) {
35             # End of file
36 1025         1807 $self->{content} .= $$string;
37 1025         1917 return 0;
38             } else {
39             # End of string
40 10846         17180 $self->{content} .= $string;
41 10846         20596 return $self;
42             }
43             }
44              
45             1;
46              
47             =pod
48              
49             =head1 SUPPORT
50              
51             See the L in the main module.
52              
53             =head1 AUTHOR
54              
55             Adam Kennedy Eadamk@cpan.orgE
56              
57             =head1 COPYRIGHT
58              
59             Copyright 2001 - 2011 Adam Kennedy.
60              
61             This program is free software; you can redistribute
62             it and/or modify it under the same terms as Perl itself.
63              
64             The full text of the license can be found in the
65             LICENSE file included with this module.
66              
67             =cut