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 68     68   330 use strict;
  68         96  
  68         2004  
6 68     68   25893 use PPI::Token::_QuoteEngine ();
  68         176  
  68         11043  
7              
8             our $VERSION = '1.287';
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 12984     12984 0 19119 my $class = shift;
14 12984 50       24301 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 12984 50       23589 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 12984         27786 $self->{separator} = $separator;
22              
23 12984         30288 $self;
24             }
25              
26             sub _fill {
27 12983     12983   15358 my $class = shift;
28 12983         14196 my $t = shift;
29 12983 50       27052 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 12983         31097 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 12983 50       23355 return undef unless defined $string;
34 12983 100       21944 if ( ref $string ) {
35             # End of file
36 1010         2006 $self->{content} .= $$string;
37 1010         1900 return 0;
38             } else {
39             # End of string
40 11973         19896 $self->{content} .= $string;
41 11973         21343 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