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   490 use strict;
  65         127  
  65         1973  
6 65     65   29076 use PPI::Token::_QuoteEngine ();
  65         197  
  65         11839  
7              
8             our $VERSION = '1.277';
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 11781     11781 0 18847 my $class = shift;
14 11781 50       26633 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 11781 50       30057 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 11781         31766 $self->{separator} = $separator;
22              
23 11781         32806 $self;
24             }
25              
26             sub _fill {
27 11780     11780   17421 my $class = shift;
28 11780         16985 my $t = shift;
29 11780 50       30357 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 11780         31513 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 11780 50       28092 return undef unless defined $string;
34 11780 100       24373 if ( ref $string ) {
35             # End of file
36 1011         2373 $self->{content} .= $$string;
37 1011         2526 return 0;
38             } else {
39             # End of string
40 10769         22201 $self->{content} .= $string;
41 10769         24692 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