Condition Coverage

blib/lib/Text/CSV_PP.pm
Criterion Covered Total %
condition 763 948 80.3


and 3 conditions

line !l l&&!r l&&r condition
267 3563 3 2 defined $quo and length $quo
270 2 3324 242 defined $quo and $quo =~ /^[ \t]/
271 4 3032 290 defined $esc and $esc =~ /^[ \t]/
281 11927 419 35 defined $sep and length $sep
283 12349 14 18 defined $quo and length $quo
321 94 852 8 @_ > 0 and ref $_[0] ne "HASH"
344 1 6 2165 /^[a-z]/ and exists $def_attr{$_}
346 21 1941 203 defined $attr{$_} and /_char$/
364 914 4 21 $quote_aliased and defined $attr{'quote_char'}
381 597 301 6 defined $self->{'callbacks'} and ref $self->{'callbacks'} ne "HASH"
387 894 2 8 defined $\ and not exists $attr{'eol'}
502 6 6 6 defined $quote && length $quote
547 5 329 21 defined $sep && length $sep
609 0 877 47 $self and $f
877 42 5 $self and $f and ref $f
919 0 5 $self and $f and ref $f and ref $f eq "CODE"
647 0 13 89 $self and $f
13 81 8 $self and $f and ref $f
94 2 6 $self and $f and ref $f and ref $f eq "CODE"
820 27 4 8 @_ == 1 && ref $_[0] eq 'HASH'
826 4 10 22 $cbk =~ /^[\w.]+$/ and ref $cb->{$cbk} eq "CODE"
853 66 3 1649 $self and ref $self
69 1 1648 $self and ref $self and UNIVERSAL::isa($self, "Text::CSV_PP")
4 105 1543 $self and ref $self and UNIVERSAL::isa($self, "Text::CSV_PP") and exists $self->{'_ERROR_DIAG'}
862 7 1270 266 $diag[0] and $self->{'callbacks'}
1270 257 9 $diag[0] and $self->{'callbacks'} and $self->{'callbacks'}{'error'}
868 10 256 19 $diag[0] and $diag[0] != 2012
872 3 1 15 $self and ref $self
879 13 0 2 $self->{'diag_verbose'} and $self->{'_ERROR_INPUT'}
885 1 11 0 @c >= 11 and $c[10]
11 0 0 @c >= 11 and $c[10] and ref $c[10] eq "HASH"
889 0 0 0 exists $hints->{'autodie'} and $hints->{'autodie'}
0 0 0 exists $hints->{'guard Fatal'} and not exists $hints->{'no Fatal'}
963 1 1 1397 @fields > 0 && $self->__combine(\$str, \@fields, 0)
980 6 201 1742 defined $str and $self->__parse($fields, $fflags, $str, 0)
997 313 233 138 @columns == 1 and not defined $columns[0]
999 313 9 224 @columns == 1 and ref $columns[0] eq "ARRAY"
1006 539 1 1 $self->{'_BOUND_COLUMNS'} and @columns != @{$self->{'_BOUND_COLUMNS'};}
1033 331 0 1 defined $args{'munge'} and not defined $args{'munge_column_names'}
1054 2 0 325 defined $hdr and $hdr ne ""
1084 144 0 0 $ebcdic and $enc eq "utf-ebcdic"
1102 0 314 1 $hdr and $hdr =~ s/\Asep=(\S)([\r\n]+)//i
1157 11 7 5 @refs == 1 and not defined $refs[0]
1159 15 2 1 $self->{'_COLUMN_NAMES'} and @refs != @{$self->{'_COLUMN_NAMES'};}
1180 2 1 2 @$fr == 1 and !defined($fr->[0]) || $fr->[0] eq ''
1203 0 12 1 @f == 1 && !defined($f[0])
1222 1 19 38 defined $spec and $spec =~ /^ \s* \x23 ? \s* # optional leading # ( row | col | cell ) \s* = ( $qc # for row and col | $qd , $qd (?: - $qs , $qs)? # for cell (ranges) (?: ; $qd , $qd (?: - $qs , $qs)? )* # and cell (range) lists ) \s* $/xi
1244 3 27 2 $brr ne "*" and $brr == 0 || $brr < $tlr
2 26 2 $brc ne "*" and $brc == 0 || $brc < $tlc
1263 6 39 15 $brr ne "*" and $r > $brr
1273 6 17 10 $max_row ne "*" and $r == $max_row
1297 28 33 3 $r > $#r and $eod
1319 320 0 4 @_ == 1 && ref $_[0] eq 'HASH'
1334 291 30 0 exists $attr{'out'} && !$attr{'out'}
1338 0 288 33 $in and $out
288 28 5 $in and $out and not ref $in
316 4 1 $in and $out and not ref $in and not ref $out
1343 8 19 5 ref $out and 'ARRAY' eq ref $out || 'HASH' eq ref $out
8 6 13 ref $out and "SCALAR" ne ref $out
7 0 6 ref $out and "SCALAR" eq ref $out
7 0 6 ref $out and "SCALAR" eq ref $out and defined $$out
0 5 1 ref $out and "SCALAR" eq ref $out and defined $$out and $$out eq "skip"
1380 14 2 0 not ref $in and $] < "5.008005"
1423 944 1 6 exists $attr{$f} and not exists $attr{$t}
1428 0 2 0 defined $_[1][0] and $_[1][0] ne ""
1433 301 13 3 defined $fltr and not ref $fltr
314 0 3 defined $fltr and not ref $fltr and exists $fltr{$fltr}
1445 298 8 11 $kh and not ref $kh
306 3 8 $kh and not ref $kh and $kh =~ /^(?:1|yes|true|internal|auto)$/i
1474 1 324 0 @_ and ref $_[0] eq 'Text::CSV_PP' || ref $_[0] eq 'Text::CSV'
1486 287 6 24 $c->{'out'} and not $c->{'sink'}
1488 6 14 4 not $hdrs and ref $c->{'kh'}
20 0 4 not $hdrs and ref $c->{'kh'} and $c->{'kh'} == \@internal_kh
1519 1 0 10 ref $hdrs || $hdrs eq 'auto' and @hdrs
1537 10 161 3 not defined $c->{'hd_s'} and $c->{'attr'}{'sep_char'}
1539 13 158 3 not defined $c->{'hd_s'} and $c->{'attr'}{'sep'}
1557 4 3 5 ref $key eq "ARRAY" and @$key > 1
1563 2 1 2 ref $val eq "ARRAY" and @$val > 0
1566 258 11 5 $c->{'fltr'} and grep /\D/, keys %{$$c{"fltr"};}
1572 0 0 48 $h && @$h
1595 210 0 10 $c->{'kh'} and $hdrs
1654 97 0 169 @row1 and not $c->{'hd_c'}
97 165 4 @row1 and not $c->{'hd_c'} and not ref $hdrs
1660 0 248 18 $ref and $c->{'cbai'} || $c->{'cboi'}
1673 5 0 1 $ro eq "SCALAR" and ${$c->{'out'};} eq "skip"
1680 0 0 4 @{$c->{'out'};} and @$ref
0 2 2 @{$c->{'out'};} and @$ref and ref $c->{'out'}[0] eq ref $ref->[0]
1727 618 220 5 defined $self->{'sep'} and $self->{'sep'} ne ""
1737 4 0 839 defined $quote_char and length $quote_char
1743 838 1 4 defined $self->{'quote'} and $self->{'quote'} ne ""
1753 6 2 835 defined $escape_char and length $escape_char
1765 735 62 42 $eol_len == 1 and $eol eq "\r"
1793 292 0 9 defined $cb->{'after_parse'} and ref $cb->{'after_parse'} eq "CODE"
1796 300 0 1 defined $cb->{'before_print'} and ref $cb->{'before_print'} eq "CODE"
1827 14 0 75 $bound and ref $bound eq "ARRAY"
1841 27968 0 54 $ctx->{'sep_len'} and $ctx->{'sep_len'} > 1
27968 40 14 $ctx->{'sep_len'} and $ctx->{'sep_len'} > 1 and _is_valid_utf8($ctx->{'sep'})
1844 27994 0 28 $ctx->{'quo_len'} and $ctx->{'quo_len'} > 1
27994 28 0 $ctx->{'quo_len'} and $ctx->{'quo_len'} > 1 and _is_valid_utf8($ctx->{'quo'})
1933 0 0 1 $cache->{'sep_len'} and $cache->{'sep_len'} > 1
1937 0 0 1 $cache->{'quo_len'} and $cache->{'quo_len'} > 1
1987 48 0 125 $cb and ref $cb eq "CODE"
1991 61 0 64 ref $res[0] eq "SCALAR" and ${$res[0];} eq "skip"
2010 0 2 21680 $esc ne "" and $esc ne "\0"
2020 21676 1 5 $n < 0 and $ctx->{'is_bound'}
2025 21680 0 2 $ctx->{'keep_meta_info'} >= 10 && @{[] unless $self->{'_FFLAGS'};} >= $n
2055 53831 6 10 substr($value, 0, 1) eq "=" and $ctx->{'formula'}
2065 1397 3 2 $check_meta and $self->is_quoted($i)
2074 52423 7 5 $check_meta and $self->is_quoted($i)
2076 5636 6 46793 not $must_be_quoted and $quot ne ""
2083 0 762 45074 $sep ne "" and $sep ne "\0"
762 44749 325 $sep ne "" and $sep ne "\0" and $value =~ /\Q$sep\E/
0 2 45509 $esc ne "" and $esc ne "\0"
2 45189 320 $esc ne "" and $esc ne "\0" and $value =~ /\Q$esc\E/
6 24861 20324 $ctx->{'quote_binary'} and $value =~ /[\x00-\x1f\x7f-\xa0]/
56 23576 1235 $ctx->{'quote_space'} and $value =~ /[\x09\x20]/
2086 52050 378 7 not $ctx->{'binary'} and $value =~ /[^\x09\x20-\x7E]/
2126 5 0 1 ref $column_names eq "ARRAY" and @$column_names >= $i - 1
2182 340 3214 5 $state and ($ctx->{'has_hooks'} || 0) & 2
2197 2490 0 175 $ctx->{'has_ahead'} and defined $self->{'_AHEAD'}
2230 0 2555 102 defined $ctx->{'tmp'} and $ctx->{'used'} < $ctx->{'size'}
2555 65 37 defined $ctx->{'tmp'} and $ctx->{'used'} < $ctx->{'size'} and $ctx->{'has_ahead'}
2251 638 3957 2 $result and $ctx->{'types'}
2253 2 0 8 $i <= $len and $i <= $ctx->{'types_len'}
2273 22 4560 30 not $ctx->{'utf8'} and $ctx->{'sep_len'}
2274 22 4572 18 not $ctx->{'utf8'} and $ctx->{'quo_len'}
2275 22 3516 1074 not $ctx->{'utf8'} and $ctx->{'eol_len'}
2293 23035 51598 635 not $waitingForField and $c eq ""
74633 333 302 not $waitingForField and $c eq "" and $hit ne ""
51931 8 294 not $waitingForField and $c eq "" and $hit ne "" and $ctx->{'useIO'}
8 147 147 not $waitingForField and $c eq "" and $hit ne "" and $ctx->{'useIO'} and not $ctx->{'useIO'} & 16
2299 4278 43823 27020 $seenSomething and $hit eq ""
48101 26656 364 $seenSomething and $hit eq "" and $c eq ""
2318 0 28737 46016 defined $hit and $hit ne ""
2320 7946 2154 42 not $spl and $ctx->{'comment_str'}
2154 24 18 not $spl and $ctx->{'comment_str'} and $ctx->{'tmp'} =~ /\A\Q$ctx->{'comment_str'}\E/
2333 10 0 75375 defined $c and defined $sep
10 63524 11851 defined $c and defined $sep and $c eq $sep
10 0 63524 defined $c and defined $quot
10 139 63385 defined $c and defined $quot and $quot ne "\0"
139 40304 23081 defined $c and defined $quot and $quot ne "\0" and $c eq $quot
10 16 40427 defined $c and defined $esc
26 139 40288 defined $c and defined $esc and $esc ne "\0"
155 35633 4655 defined $c and defined $esc and $esc ne "\0" and $c eq $esc
10 35788 0 defined $c and $c eq "\n" || $c eq '' || defined $eol && $c eq $eol && $eol ne "\r"
10 32164 1036 defined $c and $c eq "\r"
32174 3 1033 defined $c and $c eq "\r" and not $ctx->{'verbatim'}
2346 1166 0 8 $ctx->{'keep_meta_info'} and $fflags
2379 0 1 0 defined $esc && $c2 eq $esc
89 0 1 $ctx->{'allow_loose_quotes'} and not defined $esc && $c2 eq $esc
2394 0 0 10694 defined $c2 and defined $sep
0 1615 9079 defined $c2 and defined $sep and $c2 eq $sep
2402 0 1440 175 defined $c2 and $c2 eq "\n" || defined $eol && $c2 eq $eol
2409 8 13 1258 defined $esc and $c eq $esc
2411 0 1207 51 defined $c2 and $c2 eq 0
2417 0 0 1207 defined $c2 and defined $quot
0 130 1077 defined $c2 and defined $quot and $c2 eq $quot
2426 125 0 5 $ctx->{'allow_loose_escapes'} and defined $c2
125 1 4 $ctx->{'allow_loose_escapes'} and defined $c2 and $c2 ne "\r"
2434 0 57 90 defined $c2 and $c2 eq "\r"
2443 5 9 76 defined $c3 and $c3 eq "\n"
2450 13 0 1 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2473 45 2 10 $ctx->{'allow_loose_quotes'} and not $quoesc
2515 0 2 0 defined $quot and $c2 eq $quot
0 0 2 defined $sep and $c2 eq $sep
0 0 0 defined $esc and $c2 eq $esc
2541 0 2196 2411 defined $quot and $c2 eq $quot
0 2193 3 defined $sep and $c2 eq $sep
0 28 2165 defined $esc and $c2 eq $esc
2576 2675 111 211 $fnum == 1 and $ctx->{'flag'} == 0
2786 115 96 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq ''
115 45 51 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq '' and $ctx->{'skip_empty_rows'}
2596 0 0 10 $cb and ref $cb eq "CODE"
2609 8 0 0 $ctx->{'is_bound'} and $ctx->{'is_bound'} < $n
2632 216 0 14 $ctx->{'keep_meta_info'} and $fflags
2655 6 2 2 $ctx->{'eol'} eq $c and $ctx->{'useIO'}
2660 1459 448 19 not $ctx->{'recno'} and $ctx->{'fld_idx'} == 1
1907 3 16 not $ctx->{'recno'} and $ctx->{'fld_idx'} == 1 and $ctx->{'useIO'}
3 12 4 not $ctx->{'recno'} and $ctx->{'fld_idx'} == 1 and $ctx->{'useIO'} and $hit =~ /^sep=(.{1,16})$/i
2700 5 0 5 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2715 1 0 1 $fnum == 1 and $ctx->{'flag'} == 0
1 0 1 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq ''
0 0 1 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq '' and $ctx->{'skip_empty_rows'}
2734 0 0 0 $cb and ref $cb eq "CODE"
2747 0 0 0 $ctx->{'is_bound'} and $ctx->{'is_bound'} < $n
2789 5 11 130 defined $c2 and $c2 eq "\n"
2795 5 0 11 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2807 5 0 0 $fnum == 1 and $ctx->{'flag'} == 0
5 0 0 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq ''
0 0 0 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq '' and $ctx->{'skip_empty_rows'}
2826 0 0 0 $cb and ref $cb eq "CODE"
2839 0 0 0 $ctx->{'is_bound'} and $ctx->{'is_bound'} < $n
2862 31429 748 0 $ctx->{'eolx'} and $c eq $eol
2868 423 167 18 not $spl and $ctx->{'comment_str'}
167 12 6 not $spl and $ctx->{'comment_str'} and $ctx->{'tmp'} =~ /\A$ctx->{'comment_str'}/
2872 258 113 231 $ctx->{'allow_whitespace'} and $self->__is_whitespace($ctx, $c)
2893 39 408 3 $ctx->{'useIO'} and not defined $c
2903 40876 8433 12 $ctx->{'useIO'} and $ctx->{'verbatim'}
8433 9 3 $ctx->{'useIO'} and $ctx->{'verbatim'} and $ctx->{'used'} == $ctx->{'size'}
2930 29 0 3 $ctx->{'keep_meta_info'} and $fflags
2944 0 0 2 $ctx->{'flag'} == 0 and $fnum == 1
0 0 2 $ctx->{'flag'} == 0 and $fnum == 1 and $ctx->{'skip_empty_rows'} == 1
2954 2490 1908 2118 defined $ctx->{'tmp'} and $ctx->{'used'} <= 0
3072 0 724 0 (!defined($ctx->{'sep'}) || $c ne $ctx->{'sep'}) && (!defined($ctx->{'quo'}) || $c ne $ctx->{'quo'}) && (!defined($ctx->{'escape_char'}) || $c ne $ctx->{'escape_char'}) && ($c eq ' ' || $c eq "\t")
3080 21152 0 134 $ctx->{'formula'} and defined $$v_ref
21152 107 27 $ctx->{'formula'} and defined $$v_ref and substr($$v_ref, 0, 1) eq "="
3085 20503 744 12 !defined($$v_ref) || $$v_ref eq '' and $ctx->{'empty_is_undef'} || !($flag & 1) && $ctx->{'blank_is_undef'}
3091 15510 4012 1725 $ctx->{'allow_whitespace'} and not $flag & 1
3094 17505 0 3742 $flag & 2 and $ctx->{'decode_utf8'}
0 1630 2112 $flag & 2 and $ctx->{'decode_utf8'} and $ctx->{'utf8'} || _is_valid_utf8($$v_ref)
3101 21171 0 88 $ctx->{'keep_meta_info'} and $fflags
3137 36 672 12 $n++ >= $tail and $tail
3150 561 44 52 defined $len and $n >= $len
605 20 32 defined $len and $n >= $len and $offset >= 0
3153 286 36 8 defined $len and $n > $len
3192 2 6 0 $self and (&Scalar::Util::reftype($self) || '') eq 'HASH' || ref($self) =~ /^Text::CSV/

or 2 conditions

line l !l condition
322 852 94 shift() || {}
620 0 0 $self ||= "Text::CSV_PP"
658 7 0 $self ||= "Text::CSV_PP"
1180 0 2 $self->{'_FFLAGS'}[0] ||= 16
1293 28 27 $_ ||= 0
1323 44 279 delete $attr{'enc'} || delete $attr{'encoding'} || ''
1336 23 2 $out ||= \*STDOUT
1499 1 1 $hdrs ||= [map({$_ unless $hdr{$_};} keys %$row)]
1546 1 166 $hdrs ||= \@hdr
1552 3 7 $hdrs ||= "auto"
1558 7 13 $hdrs ||= "auto"
1566 2 3 $hdrs ||= "auto"
2182 5 3214 $ctx->{'has_hooks'} || 0
3121 28 308 $offset ||= 0
3141 120 600 $ctx->{'has_hooks'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
320 0 954 1 ref $proto || $proto
684 1 1 9 not defined $v or $v eq ""
762 1 1 7 not defined $v or $v eq ""
773 1 1 6 not defined $v or $v eq ""
889 0 0 0 exists $hints->{'autodie'} and $hints->{'autodie'} or exists $hints->{'guard Fatal'} and not exists $hints->{'no Fatal'}
936 1 0 25 $_[1] =~ /\D/ or $_[1] < 0
1 1 24 $_[1] =~ /\D/ or $_[1] < 0 or $_[1] > $#{$_[0]{"_FFLAGS"};}
943 1 0 9 $_[1] =~ /\D/ or $_[1] < 0
1 1 8 $_[1] =~ /\D/ or $_[1] < 0 or $_[1] > $#{$_[0]{"_FFLAGS"};}
950 1 1 11 $idx < 0 or not ref $self->{'_FFLAGS'}
1180 0 2 1 !defined($fr->[0]) || $fr->[0] eq ''
1201 0 11 0 $\ || $/
1244 2 2 32 $tlr == 0 or $tlc == 0
0 2 27 $brr == 0 || $brr < $tlr
4 2 30 $tlr == 0 or $tlc == 0 or $brr ne "*" and $brr == 0 || $brr < $tlr
0 2 26 $brc == 0 || $brc < $tlc
2 2 28 $tlr == 0 or $tlc == 0 or $brr ne "*" and $brr == 0 || $brr < $tlr or $brc ne "*" and $brc == 0 || $brc < $tlc
1252 2 17 9 $brr eq "*" or $brr > $max_row
1263 17 15 45 $r < $tlr or $brr ne "*" and $r > $brr
1264 33 3 9 not defined $lc or $tlc < $lc
1284 9 14 2 $to ||= $from
1287 2 1 22 $from <= 0 or $to < $from
1297 3 17 44 $r > $#r and $eod or $r[$r]
1306 27 99 279 $_ > $#r && $eod || $r[$_]
1332 318 3 3 delete $attr{'in'} || delete $attr{'file'}
1334 30 1 290 delete $attr{'out'} || delete $attr{'file'}
1336 3 22 296 ref $in eq "CODE" or ref $in eq "ARRAY"
1343 4 1 19 'ARRAY' eq ref $out || 'HASH' eq ref $out
13 1 13 ref $out and "SCALAR" ne ref $out or "GLOB" eq ref \$out
1370 3 21 295 ref $in eq "CODE" or ref $in eq "ARRAY"
14 2 254 ref $in or "GLOB" eq ref \$in
1391 317 0 0 $fh or $sink
1399 2 15 298 delete $attr{'keep_headers'} || delete $attr{'keep_column_names'} || delete $attr{'kh'}
1404 1 1 306 delete $attr{'callbacks'}{'after_in'} || delete $attr{'after_in'} || delete $attr{'callbacks'}{'after_parse'} || delete $attr{'after_parse'}
1406 2 2 313 delete $attr{'callbacks'}{'before_out'} || delete $attr{'before_out'}
1408 4 11 302 delete $attr{'callbacks'}{'on_in'} || delete $attr{'on_in'}
1411 4 6 307 delete $attr{'sep_set'} || delete $attr{'seps'}
1413 42 120 155 delete $attr{'detect_bom'} || delete $attr{'bom'}
1415 7 1 309 delete $attr{'munge'} || delete $attr{'munge_column_names'}
1441 17 300 0 delete $attr{'csv'} || 'Text::CSV_PP'->new(\%attr)
1474 0 0 324 ref $_[0] eq 'Text::CSV_PP' || ref $_[0] eq 'Text::CSV'
1490 1 9 11 @{$in;} == 0 or ref $in->[0] eq "ARRAY"
1519 5 5 1 ref $hdrs || $hdrs eq 'auto'
1534 10 156 127 defined $c->{'hd_s'} or defined $c->{'hd_b'}
166 6 121 defined $c->{'hd_s'} or defined $c->{'hd_b'} or defined $c->{'hd_m'}
162 2 119 defined $c->{'hd_s'} or defined $c->{'hd_b'} or defined $c->{'hd_m'} or defined $c->{'hd_c'}
1557 15 5 7 not ref $key or ref $key eq "ARRAY" and @$key > 1
1563 3 2 3 not ref $val or ref $val eq "ARRAY" and @$val > 0
1568 47 1 172 not ref $hdrs or ref $hdrs eq "CODE"
1577 0 3 0 $hdr{$_} || $_
1588 0 3 0 $hdr{$_} || $_
1592 0 3 0 $hdr{$_} || $_
1660 11 11 244 $c->{'cbai'} || $c->{'cboi'}
1838 8 513 1007 $ctx->{'verbatim'} || $ctx->{'eol_len'} >= 2
2007 1 1 21680 not defined $quot or $quot eq "\0"
2012 21488 190 0 $self->{'_re_comb_escape'}{$quot}{$esc} ||= qr/(\Q$quot\E|\Q$esc\E)/
2014 0 2 0 $self->{'_re_comb_escape'}{$quot}{$esc} ||= qr/(\Q$esc\E)/
2065 4 2 1400 $ctx->{'quote_empty'} or $check_meta and $self->is_quoted($i)
2083 957 325 45511 $value =~ /\Q$quot\E/ or $sep ne "" and $sep ne "\0" and $value =~ /\Q$sep\E/
325 320 45191 $value =~ /\Q$quot\E/ or $sep ne "" and $sep ne "\0" and $value =~ /\Q$sep\E/ or $esc ne "" and $esc ne "\0" and $value =~ /\Q$esc\E/
320 20324 24867 $value =~ /\Q$quot\E/ or $sep ne "" and $sep ne "\0" and $value =~ /\Q$sep\E/ or $esc ne "" and $esc ne "\0" and $value =~ /\Q$esc\E/ or $ctx->{'quote_binary'} and $value =~ /[\x00-\x1f\x7f-\xa0]/
20324 1240 23627 $value =~ /\Q$quot\E/ or $sep ne "" and $sep ne "\0" and $value =~ /\Q$sep\E/ or $esc ne "" and $esc ne "\0" and $value =~ /\Q$esc\E/ or $ctx->{'quote_binary'} and $value =~ /[\x00-\x1f\x7f-\xa0]/ or $ctx->{'quote_space'} and $value =~ /[\x09\x20]/
2185 3219 2 338 $state || !$last_error
2191 427 444 3737 $ctx->{'eolx'} or $ctx->{'eol_is_cr'}
2218 19 8 0 $ctx->{'strict_n'} ||= $ctx->{'fld_idx'}
2333 2177 0 33611 $c eq "\n" || $c eq '' || defined $eol && $c eq $eol && $eol ne "\r"
2337 29 24 1121 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
2402 189 159 1267 $c2 eq "\n" || defined $eol && $c2 eq $eol
2515 0 2 0 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep
2 0 0 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep or defined $esc and $c2 eq $esc
0 0 0 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep or defined $esc and $c2 eq $esc or $ctx->{'allow_loose_escapes'}
2541 2411 3 2193 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep
3 2165 28 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep or defined $esc and $c2 eq $esc
2165 0 28 defined $quot and $c2 eq $quot or defined $sep and $c2 eq $sep or defined $esc and $c2 eq $esc or $ctx->{'allow_loose_escapes'}
2576 0 96 115 !$v_ref || $$v_ref eq ''
2586 2 2 29 not defined $c or $ser == 2
2624 8 8 214 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
2715 0 1 0 !$v_ref || $$v_ref eq ''
2796 4 1 6 not $c2 =~ /[^\x09\x20-\x7E]/ or $c2 eq "\r"
2807 0 0 0 !$v_ref || $$v_ref eq ''
2883 0 3297 26172 not defined $c or $c =~ /[^\x09\x20-\x7E]/
2885 3282 10 5 $ctx->{'binary'} or $ctx->{'utf8'}
2892 5 445 1650 not defined $c or $c =~ /[^\x09\x20-\x7E]/
2895 438 0 9 $ctx->{'binary'} or $ctx->{'utf8'}
2908 32 0 334 $seenSomething or not $ctx->{'useIO'}
2922 5 4 23 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
3085 0 756 20503 !defined($$v_ref) || $$v_ref eq ''
12 0 744 $ctx->{'empty_is_undef'} || !($flag & 1) && $ctx->{'blank_is_undef'}
3094 75 2096 1571 $ctx->{'utf8'} || _is_valid_utf8($$v_ref)
3192 4 0 2 (&Scalar::Util::reftype($self) || '') eq 'HASH' || ref($self) =~ /^Text::CSV/