Branch Coverage

lib/CSV/LINQ.pm
Criterion Covered Total %
branch 137 330 41.5


line true false branch
9 0 5 if ($] < "5.006" and not defined &warnings::import)
13 0 5 if $INC[-1] eq "."
37 8 27 $mode eq '>' ? :
38 0 35 unless open $fhn, $arg
39 0 35 if ($raw)
58 0 103 unless defined $sep
64 4 282 if ($pos < $len and substr($line, $pos, 1) eq '"') { }
69 6 40 if ($c eq '"') { }
71 2 4 if ($pos < $len and substr($line, $pos, 1) eq '"') { }
85 3 1 if $pos < $len and substr($line, $pos, 1) eq $sep
101 0 78 unless defined $sep
102 0 78 unless defined $value
103 0 78 if ($value =~ /["\n\r]/ or index($value, $sep) != -1)
116 0 99 unless ref $arrayref eq "ARRAY"
120 95 410 if $i >= scalar @{$arrayref;}
128 3 24 defined $opts{'sep'} ? :
135 27 0 if (not defined $headers) { }
137 27 0 if (defined $hdr)
143 0 0 if ($skip)
151 27 71 unless (defined $line)
156 0 71 if $line eq ""
172 7 45 if $current > $end
188 0 0 if $i >= $count
211 6 16 if (ref $args[0] eq 'CODE') { }
215 0 16 if @args % 2 != 0
221 0 50 unless defined $rec->{$k}
222 18 32 unless $rec->{$k} eq $cond{$k}
231 21 82 unless defined $elem
232 50 32 if &$pred($elem)
247 21 110 unless defined $elem
259 15 12 if (@buf)
263 3 9 unless defined $elem
265 0 9 unless ref $arr eq "ARRAY"
283 8 6 unless ($first_done)
285 6 2 if (defined $elem)
302 0 0 unless defined $e1 and defined $e2
314 0 7 if $count < 0
318 6 18 if $taken >= $count
320 1 17 unless defined $elem
329 0 5 if $count < 0
335 0 13 unless defined $elem
348 0 0 if $done
350 0 0 unless defined $elem
351 0 0 if (&$pred($elem))
367 0 0 unless defined $elem
368 0 0 unless (&$pred($elem))
450 2 457 unless defined $val
451 128 331 if ($type eq 'num') { }
172 159 elsif ($type eq 'str') { }
452 126 2 defined $val && length $val ? :
462 8 151 if ($t =~ /^[+-]?(?:\d+\.?\d*|\d*\.\d+)(?:[eE][+-]?\d+)?$/) { }
474 152 394 if ($type eq 'num') { }
186 208 elsif ($type eq 'str') { }
484 7 201 if ($fa == 0 and $fb == 0) { }
201 0 elsif ($fa == 1 and $fb == 1) { }
512 65 481 if ($specs->[$i]{'dir'} < 0)
513 419 127 if ($cmp != 0)
515 419 18 $r != 0 ? :
548 286 63 $i < scalar @sorted ? :
559 67 443 unless (exists $self->{'_iter'})
563 91 419 unless (defined $val)
599 0 6 unless defined $k
600 4 2 unless (exists $groups{$k})
604 0 6 if (defined $elem_sel) { }
629 1 6 unless defined $elem
630 0 6 defined $comparer ? :
631 0 6 unless defined $key
632 3 3 if $seen{$key}
649 0 0 defined $comparer ? :
650 0 0 unless defined $k
658 0 0 unless defined $elem
659 0 0 defined $comparer ? :
660 0 0 unless defined $k
661 0 0 unless $in2{$k}
662 0 0 if $seen{$k}
674 0 0 defined $comparer ? :
675 0 0 unless defined $k
683 0 0 unless defined $elem
684 0 0 defined $comparer ? :
685 0 0 unless defined $k
686 0 0 if $in2{$k}
687 0 0 if $seen{$k}
704 0 10 unless defined $k
705 10 0 unless exists $lookup{$k}
712 12 17 if (@buf)
716 5 12 unless defined $outer
718 0 12 unless defined $k
719 0 12 unless exists $lookup{$k}
733 0 0 unless defined $k
734 0 0 unless exists $lookup{$k}
740 0 0 unless defined $outer
742 0 0 unless defined $k
743 0 0 exists $lookup{$k} ? :
757 1 5 unless &$pred($e)
764 1 0 if (defined $pred) { }
766 1 4 if &$pred($e)
771 0 0 defined $self->_next ? :
778 0 0 if (defined $comparer) { }
779 0 0 if &$comparer($e, $value)
782 0 0 if (not defined $value) { }
0 0 elsif (defined $e and $e eq $value) { }
783 0 0 unless defined $e
798 0 0 unless (defined $e1 or defined $e2)
801 0 0 unless defined $e1 and defined $e2
802 0 0 if (defined $comparer) { }
803 0 0 unless &$comparer($e1, $e2)
806 0 0 unless $e1 eq $e2
818 3 0 if (not defined $pred or &$pred($e))
822 0 0 if (defined $pred)
830 0 0 if (ref $pred eq 'CODE') { }
832 0 0 if &$pred($e)
839 0 0 defined $e ? :
848 20 0 if (not defined $pred or &$pred($e))
853 3 0 if ($has)
856 0 0 if (defined $pred)
867 0 0 if (not defined $pred or &$pred($e))
872 0 0 $has ? :
880 0 0 if (not defined $pred or &$pred($e))
883 0 0 if $count > 1
887 0 0 if $count == 0
896 0 0 if (not defined $pred or &$pred($e))
899 0 0 if $count > 1
902 0 0 $count == 1 ? :
907 0 0 if $index < 0
910 0 0 if $i == $index
918 0 0 if $index < 0
921 0 0 if $i == $index
935 19 0 if (not defined $pred or &$pred($e))
946 10 0 defined $selector ? :
947 10 0 defined $v ? :
956 0 0 defined $selector ? :
957 0 0 unless defined $v
958 0 0 if not defined $min or $v < $min
967 0 0 defined $selector ? :
968 0 0 unless defined $v
969 0 0 if not defined $max or $v > $max
979 5 0 defined $selector ? :
980 5 0 defined $v ? :
983 0 1 if $n == 0
992 0 0 defined $selector ? :
993 0 0 defined $v ? :
996 0 0 $n == 0 ? :
1002 0 0 if (@args == 1) { }
0 0 elsif (@args == 2) { }
1005 0 0 unless defined $first
1018 0 0 defined $result_sel ? :
1049 0 0 unless ($started)
1052 0 0 unless (defined $elem)
1053 0 0 unless ($done)
1061 0 0 if $done
1072 0 4 unless defined $k
1073 4 0 defined $val_sel ? :
1085 0 6 unless defined $k
1086 4 2 unless (exists $lookup{$k})
1090 6 0 defined $val_sel ? :
1098 0 8 defined $opts{'sep'} ? :
1101 2 2 defined $opts{'label_order'} ? :
4 4 defined $opts{'headers'} ? :
1108 8 0 unless ($no_header)
1110 6 2 if (defined $headers) { }
2 0 elsif (@items and ref $items[0] eq 'HASH') { }
1116 8 0 if (@cols)
1121 0 8 if (not @cols and @items and ref $items[0] ne 'HASH') { }
1127 18 0 if (ref $item eq 'HASH') { }
1145 0 0 if (ref $item eq 'HASH') { }