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 64     64   375 use strict;
  64         117  
  64         1466  
6 64     64   22306 use PPI::Token::_QuoteEngine ();
  64         145  
  64         9226  
7              
8             our $VERSION = '1.275';
9              
10             our @ISA = 'PPI::Token::_QuoteEngine';
11              
12             sub new {
13 11762     11762 0 16165 my $class = shift;
14 11762 50       20460 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 11762 50       20222 my $self = PPI::Token::new( $class, $separator ) or return undef;
21 11762         24519 $self->{separator} = $separator;
22              
23 11762         26152 $self;
24             }
25              
26             sub _fill {
27 11762     11762   13857 my $class = shift;
28 11762         12785 my $t = shift;
29 11762 50       24661 my $self = $t->{token} or return undef;
30              
31             # Scan for the end separator
32 11762         23152 my $string = $self->_scan_for_unescaped_character( $t, $self->{separator} );
33 11762 50       23281 return undef unless defined $string;
34 11762 100       19056 if ( ref $string ) {
35             # End of file
36 990         1777 $self->{content} .= $$string;
37 990         1990 return 0;
38             } else {
39             # End of string
40 10772         16656 $self->{content} .= $string;
41 10772         19288 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