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 69     69   345 use strict;
  69         111  
  69         2044  
6 69     69   25607 use PPI::Token::_QuoteEngine ();
  69         167  
  69         10894  
7              
8             our $VERSION = '1.290';
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 12953     12953 0 16973 my $class = shift;
14 12953 50       24656 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 12953 50       21592 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 12953         26756 $self->{separator} = $separator;
22              
23 12953         27296 $self;
24             }
25              
26             sub _fill {
27 12952     12952   14594 my $class = shift;
28 12952         14138 my $t = shift;
29 12952 50       26543 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 12952         28159 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 12952 50       22968 return undef unless defined $string;
34 12952 100       20140 if ( ref $string ) {
35             # End of file
36 1004         2108 $self->{content} .= $$string;
37 1004         2054 return 0;
38             } else {
39             # End of string
40 11948         21027 $self->{content} .= $string;
41 11948         20240 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