| line | true | false | branch | 
 
| 21 | 0 | 0 | unless defined $file | 
 
| 23 | 0 | 0 | unless -e $file and -r _ | 
 
| 24 | 0 | 0 | unless open XML, '<:encoding(UTF-8)', $file | 
 
| 26 | 0 | 0 | unless close XML | 
 
| 28 | 0 | 0 | unless defined $file | 
 
| 29 | 0 | 0 | unless -e $file and -r _ | 
 
| 31 | 0 | 0 | unless defined $chars | 
 
| 32 | 0 | 0 | unless $chars | 
 
| 33 | 0 | 0 | 65279 == ord $buffer ? : | 
 
| 55 | 0 | 0 | $BOM ? : | 
 
| 57 | 0 | 0 | if (length $buffer2) { } | 
 
|  | 0 | 0 | elsif ($char) { } | 
 
| 64 | 0 | 0 | if $t | 
 
| 65 | 0 | 0 | if length $_ | 
 
| 69 | 0 | 0 | if ($buf eq '<' and not $cmntOpen) { } | 
 
|  | 0 | 0 | elsif ($t and $buf eq '>' and not $squote and not $dquote and !$cmntOpen || 5 <= length $_ && '--' eq substr($_, -2)) { } | 
 
| 70 | 0 | 0 | if $t == 1 | 
 
| 72 | 0 | 0 | if (length $_) | 
 
| 73 | 0 | 0 | if not $hasTags and /\S/ | 
 
| 79 | 0 | 0 | unless /$CFDI::Parser::XML::qr_ta/ | 
 
| 81 | 0 | 0 | if (defined $1 and length $1) { } | 
 
|  | 0 | 0 | elsif (defined $4 and length $4) { } | 
 
|  | 0 | 0 | elsif (defined $5 and length $5) { } | 
 
|  | 0 | 0 | elsif (defined $6 and length $6) { } | 
 
| 85 | 0 | 0 | exists $n{$_} ? : | 
 
| 87 | 0 | 0 | $#attr + 1 ? : | 
 
| 89 | 0 | 0 | $attr ? : | 
 
| 90 | 0 | 0 | if defined $slsh and length $slsh | 
 
| 100 | 0 | 0 | if (ref $token eq 'ARRAY') { } | 
 
| 101 | 0 | 0 | unless ${$token->[0];} eq $name | 
 
| 117 | 0 | 0 | unless $found | 
 
| 131 | 0 | 0 | if $_ eq '!-' and $buf eq '-' and $t | 
 
| 132 | 0 | 0 | if $buf eq q['] and $t and not $dquote || $cmntOpen | 
 
| 133 | 0 | 0 | if $buf eq '"' and $t and not $squote || $cmntOpen | 
 
| 137 | 0 | 0 | unless defined $char | 
 
| 138 | 0 | 0 | unless close XML | 
 
| 139 | 0 | 0 | if grep((ref $_ eq 4 && $$_ =~ /S/), @tokns) | 
 
| 141 | 0 | 0 | if $#elements == -1 | 
 
| 142 | 0 | 0 | if $#elements |