Condition Coverage

blib/lib/Text/CSV_PP.pm
Criterion Covered Total %
condition 740 898 82.2


and 3 conditions

line !l l&&!r l&&r condition
265 3563 3 2 defined $quo and length $quo
268 2 3324 242 defined $quo and $quo =~ /^[ \t]/
269 4 3032 290 defined $esc and $esc =~ /^[ \t]/
279 11857 394 35 defined $sep and length $sep
281 12254 14 18 defined $quo and length $quo
319 89 812 8 @_ > 0 and ref $_[0] ne "HASH"
342 1 6 1995 /^[a-z]/ and exists $def_attr{$_}
344 21 1777 197 defined $attr{$_} and /_char$/
362 869 4 21 $quote_aliased and defined $attr{'quote_char'}
379 588 265 6 defined $self->{'callbacks'} and ref $self->{'callbacks'} ne "HASH"
385 849 2 8 defined $\ and not exists $attr{'eol'}
499 6 6 6 defined $quote && length $quote
544 5 304 21 defined $sep && length $sep
621 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"
794 27 4 8 @_ == 1 && ref $_[0] eq 'HASH'
800 4 10 22 $cbk =~ /^[\w.]+$/ and ref $cb->{$cbk} eq "CODE"
827 66 3 1623 $self and ref $self
69 1 1622 $self and ref $self and UNIVERSAL::isa($self, "Text::CSV_PP")
4 105 1517 $self and ref $self and UNIVERSAL::isa($self, "Text::CSV_PP") and exists $self->{'_ERROR_DIAG'}
836 7 1266 244 $diag[0] and $self->{'callbacks'}
1266 235 9 $diag[0] and $self->{'callbacks'} and $self->{'callbacks'}{'error'}
842 10 237 16 $diag[0] and $diag[0] != 2012
846 3 1 12 $self and ref $self
853 10 0 2 $self->{'diag_verbose'} and $self->{'_ERROR_INPUT'}
859 1 8 0 @c >= 11 and $c[10]
8 0 0 @c >= 11 and $c[10] and ref $c[10] eq "HASH"
863 0 0 0 exists $hints->{'autodie'} and $hints->{'autodie'}
0 0 0 exists $hints->{'guard Fatal'} and not exists $hints->{'no Fatal'}
937 1 1 1397 @fields > 0 && $self->__combine(\$str, \@fields, 0)
954 6 201 1742 defined $str and $self->__parse($fields, $fflags, $str, 0)
971 288 210 138 @columns == 1 and not defined $columns[0]
973 288 9 201 @columns == 1 and ref $columns[0] eq "ARRAY"
980 491 1 1 $self->{'_BOUND_COLUMNS'} and @columns != @{$self->{'_BOUND_COLUMNS'};}
1007 303 0 1 defined $args{'munge'} and not defined $args{'munge_column_names'}
1028 2 0 297 defined $hdr and $hdr ne ""
1058 144 0 0 $ebcdic and $enc eq "utf-ebcdic"
1076 0 289 1 $hdr and $hdr =~ s/\Asep=(\S)([\r\n]+)//i
1131 11 7 5 @refs == 1 and not defined $refs[0]
1133 15 2 1 $self->{'_COLUMN_NAMES'} and @refs != @{$self->{'_COLUMN_NAMES'};}
1154 2 1 2 @$fr == 1 and !defined($fr->[0]) || $fr->[0] eq ''
1177 0 12 1 @f == 1 && !defined($f[0])
1196 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
1218 3 27 2 $brr ne "*" and $brr == 0 || $brr < $tlr
2 26 2 $brc ne "*" and $brc == 0 || $brc < $tlc
1237 6 39 15 $brr ne "*" and $r > $brr
1247 6 17 10 $max_row ne "*" and $r == $max_row
1271 28 33 3 $r > $#r and $eod
1293 280 0 4 @_ == 1 && ref $_[0] eq 'HASH'
1308 251 30 0 exists $attr{'out'} && !$attr{'out'}
1312 0 248 33 $in and $out
248 28 5 $in and $out and not ref $in
276 4 1 $in and $out and not ref $in and not ref $out
1317 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 4 2 ref $out and "SCALAR" eq ref $out and defined $$out
4 1 1 ref $out and "SCALAR" eq ref $out and defined $$out and $$out eq "skip"
1354 14 2 0 not ref $in and $] < "5.008005"
1397 824 1 6 exists $attr{$f} and not exists $attr{$t}
1402 0 2 0 defined $_[1][0] and $_[1][0] ne ""
1407 261 13 3 defined $fltr and not ref $fltr
274 0 3 defined $fltr and not ref $fltr and exists $fltr{$fltr}
1419 258 8 11 $kh and not ref $kh
266 3 8 $kh and not ref $kh and $kh =~ /^(?:1|yes|true|internal|auto)$/i
1448 1 284 0 @_ and ref $_[0] eq 'Text::CSV_PP' || ref $_[0] eq 'Text::CSV'
1460 247 6 24 $c->{'out'} and not $c->{'sink'}
1462 6 14 4 not $hdrs and ref $c->{'kh'}
20 0 4 not $hdrs and ref $c->{'kh'} and $c->{'kh'} == \@internal_kh
1493 1 0 10 ref $hdrs || $hdrs eq 'auto' and @hdrs
1527 4 3 5 ref $key eq "ARRAY" and @$key > 1
1533 2 1 2 ref $val eq "ARRAY" and @$val > 0
1536 221 11 5 $c->{'fltr'} and grep /\D/, keys %{$$c{"fltr"};}
1560 187 0 10 $c->{'kh'} and $hdrs
1619 86 0 149 @row1 and not $c->{'hd_c'}
86 145 4 @row1 and not $c->{'hd_c'} and not ref $hdrs
1625 0 217 18 $ref and $c->{'cbai'} || $c->{'cboi'}
1638 5 0 1 $ro eq "SCALAR" and ${$c->{'out'};} eq "skip"
1645 0 0 4 @{$c->{'out'};} and @$ref
0 2 2 @{$c->{'out'};} and @$ref and ref $c->{'out'}[0] eq ref $ref->[0]
1692 599 195 5 defined $self->{'sep'} and $self->{'sep'} ne ""
1702 4 0 795 defined $quote_char and length $quote_char
1708 794 1 4 defined $self->{'quote'} and $self->{'quote'} ne ""
1718 6 2 791 defined $escape_char and length $escape_char
1730 691 62 42 $eol_len == 1 and $eol eq "\r"
1758 256 0 9 defined $cb->{'after_parse'} and ref $cb->{'after_parse'} eq "CODE"
1761 264 0 1 defined $cb->{'before_print'} and ref $cb->{'before_print'} eq "CODE"
1792 14 0 75 $bound and ref $bound eq "ARRAY"
1806 27711 0 54 $ctx->{'sep_len'} and $ctx->{'sep_len'} > 1
27711 40 14 $ctx->{'sep_len'} and $ctx->{'sep_len'} > 1 and _is_valid_utf8($ctx->{'sep'})
1809 27737 0 28 $ctx->{'quo_len'} and $ctx->{'quo_len'} > 1
27737 28 0 $ctx->{'quo_len'} and $ctx->{'quo_len'} > 1 and _is_valid_utf8($ctx->{'quo'})
1898 0 0 1 $cache->{'sep_len'} and $cache->{'sep_len'} > 1
1902 0 0 1 $cache->{'quo_len'} and $cache->{'quo_len'} > 1
1952 48 0 125 $cb and ref $cb eq "CODE"
1956 61 0 64 ref $res[0] eq "SCALAR" and ${$res[0];} eq "skip"
1975 0 2 21680 $esc ne "" and $esc ne "\0"
1985 21676 1 5 $n < 0 and $ctx->{'is_bound'}
1990 21680 0 2 $ctx->{'keep_meta_info'} >= 10 && @{[] unless $self->{'_FFLAGS'};} >= $n
2020 53831 6 10 substr($value, 0, 1) eq "=" and $ctx->{'formula'}
2030 1397 3 2 $check_meta and $self->is_quoted($i)
2039 52423 7 5 $check_meta and $self->is_quoted($i)
2041 5636 6 46793 not $must_be_quoted and $quot ne ""
2048 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]/
2051 52050 378 7 not $ctx->{'binary'} and $value =~ /[^\x09\x20-\x7E]/
2091 5 0 1 ref $column_names eq "ARRAY" and @$column_names >= $i - 1
2147 340 3179 5 $state and ($ctx->{'has_hooks'} || 0) & 2
2162 2287 0 175 $ctx->{'has_ahead'} and defined $self->{'_AHEAD'}
2195 0 2360 100 defined $ctx->{'tmp'} and $ctx->{'used'} < $ctx->{'size'}
2360 63 37 defined $ctx->{'tmp'} and $ctx->{'used'} < $ctx->{'size'} and $ctx->{'has_ahead'}
2216 607 3791 2 $result and $ctx->{'types'}
2218 2 0 8 $i <= $len and $i <= $ctx->{'types_len'}
2238 22 4357 30 not $ctx->{'utf8'} and $ctx->{'sep_len'}
2239 22 4369 18 not $ctx->{'utf8'} and $ctx->{'quo_len'}
2240 22 3331 1056 not $ctx->{'utf8'} and $ctx->{'eol_len'}
2258 22439 51426 635 not $waitingForField and $c eq ""
73865 333 302 not $waitingForField and $c eq "" and $hit ne ""
51759 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
2264 4098 43400 26855 $seenSomething and $hit eq ""
47498 26491 364 $seenSomething and $hit eq "" and $c eq ""
2283 0 28538 45447 defined $hit and $hit ne ""
2285 7607 2008 42 not $spl and $ctx->{'comment_str'}
2008 24 18 not $spl and $ctx->{'comment_str'} and $ctx->{'tmp'} =~ /\A\Q$ctx->{'comment_str'}\E/
2298 10 0 74595 defined $c and defined $sep
10 63107 11488 defined $c and defined $sep and $c eq $sep
10 0 63107 defined $c and defined $quot
10 139 62968 defined $c and defined $quot and $quot ne "\0"
139 40049 22919 defined $c and defined $quot and $quot ne "\0" and $c eq $quot
10 16 40172 defined $c and defined $esc
26 139 40033 defined $c and defined $esc and $esc ne "\0"
155 35378 4655 defined $c and defined $esc and $esc ne "\0" and $c eq $esc
10 35533 0 defined $c and $c eq "\n" || $c eq '' || defined $eol && $c eq $eol && $eol ne "\r"
10 32082 1018 defined $c and $c eq "\r"
32092 3 1015 defined $c and $c eq "\r" and not $ctx->{'verbatim'}
2311 1166 0 8 $ctx->{'keep_meta_info'} and $fflags
2344 0 1 0 defined $esc && $c2 eq $esc
89 0 1 $ctx->{'allow_loose_quotes'} and not defined $esc && $c2 eq $esc
2359 0 0 10619 defined $c2 and defined $sep
0 1602 9017 defined $c2 and defined $sep and $c2 eq $sep
2367 0 1427 175 defined $c2 and $c2 eq "\n" || defined $eol && $c2 eq $eol
2374 8 13 1258 defined $esc and $c eq $esc
2376 0 1207 51 defined $c2 and $c2 eq 0
2382 0 0 1207 defined $c2 and defined $quot
0 130 1077 defined $c2 and defined $quot and $c2 eq $quot
2391 125 0 5 $ctx->{'allow_loose_escapes'} and defined $c2
125 1 4 $ctx->{'allow_loose_escapes'} and defined $c2 and $c2 ne "\r"
2399 0 57 90 defined $c2 and $c2 eq "\r"
2408 5 9 76 defined $c3 and $c3 eq "\n"
2415 13 0 1 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2438 45 2 10 $ctx->{'allow_loose_quotes'} and not $quoesc
2480 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
2506 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
2541 2540 111 173 $fnum == 1 and $ctx->{'flag'} == 0
2651 113 60 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq ''
113 37 23 $fnum == 1 and $ctx->{'flag'} == 0 and !$v_ref || $$v_ref eq '' and $ctx->{'skip_empty_rows'}
2563 208 0 14 $ctx->{'keep_meta_info'} and $fflags
2586 6 2 2 $ctx->{'eol'} eq $c and $ctx->{'useIO'}
2591 1348 422 19 not $ctx->{'recno'} and $ctx->{'fld_idx'} == 1
1770 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
2631 5 0 5 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2646 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'}
2686 5 11 130 defined $c2 and $c2 eq "\n"
2692 5 0 11 $ctx->{'useIO'} and not $ctx->{'eol_len'}
2704 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'}
2726 31347 748 0 $ctx->{'eolx'} and $c eq $eol
2732 421 163 18 not $spl and $ctx->{'comment_str'}
163 12 6 not $spl and $ctx->{'comment_str'} and $ctx->{'tmp'} =~ /\A$ctx->{'comment_str'}/
2736 252 113 231 $ctx->{'allow_whitespace'} and $self->__is_whitespace($ctx, $c)
2757 39 408 3 $ctx->{'useIO'} and not defined $c
2767 40876 7982 12 $ctx->{'useIO'} and $ctx->{'verbatim'}
7982 9 3 $ctx->{'useIO'} and $ctx->{'verbatim'} and $ctx->{'used'} == $ctx->{'size'}
2794 29 0 3 $ctx->{'keep_meta_info'} and $fflags
2816 2287 1898 2118 defined $ctx->{'tmp'} and $ctx->{'used'} <= 0
2934 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")
2942 20554 0 134 $ctx->{'formula'} and $$v_ref
20554 107 27 $ctx->{'formula'} and $$v_ref and substr($$v_ref, 0, 1) eq "="
2947 19905 744 12 !defined($$v_ref) || $$v_ref eq '' and $ctx->{'empty_is_undef'} || !($flag & 1) && $ctx->{'blank_is_undef'}
2953 14912 4012 1725 $ctx->{'allow_whitespace'} and not $flag & 1
2956 16943 0 3706 $flag & 2 and $ctx->{'decode_utf8'}
0 1630 2076 $flag & 2 and $ctx->{'decode_utf8'} and $ctx->{'utf8'} || _is_valid_utf8($$v_ref)
2963 20573 0 88 $ctx->{'keep_meta_info'} and $fflags
2999 36 549 12 $n++ >= $tail and $tail
3012 466 36 32 defined $len and $n >= $len
502 20 12 defined $len and $n >= $len and $offset >= 0
3015 255 16 8 defined $len and $n > $len
3054 2 6 0 $self and (&Scalar::Util::reftype($self) || '') eq 'HASH' || ref($self) =~ /^Text::CSV/

or 2 conditions

line l !l condition
320 812 89 shift() || {}
632 7 0 $self ||= "Text::CSV_PP"
1154 0 2 $self->{'_FFLAGS'}[0] ||= 16
1267 28 27 $_ ||= 0
1297 44 239 delete $attr{'enc'} || delete $attr{'encoding'} || ''
1310 23 2 $out ||= \*STDOUT
1473 1 1 $hdrs ||= [map({$_ unless $hdr{$_};} keys %$row)]
1516 0 145 $hdrs ||= \@hdr
1522 3 7 $hdrs ||= "auto"
1528 7 13 $hdrs ||= "auto"
1536 2 3 $hdrs ||= "auto"
2147 5 3179 $ctx->{'has_hooks'} || 0
2983 20 259 $offset ||= 0
3003 120 477 $ctx->{'has_hooks'} || 0

or 3 conditions

line l !l&&r !l&&!r condition
318 0 909 1 ref $proto || $proto
658 1 1 9 not defined $v or $v eq ""
736 1 1 7 not defined $v or $v eq ""
747 1 1 6 not defined $v or $v eq ""
863 0 0 0 exists $hints->{'autodie'} and $hints->{'autodie'} or exists $hints->{'guard Fatal'} and not exists $hints->{'no Fatal'}
910 1 0 25 $_[1] =~ /\D/ or $_[1] < 0
1 1 24 $_[1] =~ /\D/ or $_[1] < 0 or $_[1] > $#{$_[0]{"_FFLAGS"};}
917 1 0 9 $_[1] =~ /\D/ or $_[1] < 0
1 1 8 $_[1] =~ /\D/ or $_[1] < 0 or $_[1] > $#{$_[0]{"_FFLAGS"};}
924 1 1 11 $idx < 0 or not ref $self->{'_FFLAGS'}
1154 0 2 1 !defined($fr->[0]) || $fr->[0] eq ''
1175 0 11 0 $\ || $/
1218 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
1226 2 17 9 $brr eq "*" or $brr > $max_row
1237 17 15 45 $r < $tlr or $brr ne "*" and $r > $brr
1238 33 3 9 not defined $lc or $tlc < $lc
1258 9 14 2 $to ||= $from
1261 2 1 22 $from <= 0 or $to < $from
1271 3 17 44 $r > $#r and $eod or $r[$r]
1280 27 99 279 $_ > $#r && $eod || $r[$_]
1306 278 3 3 delete $attr{'in'} || delete $attr{'file'}
1308 30 1 250 delete $attr{'out'} || delete $attr{'file'}
1310 3 22 256 ref $in eq "CODE" or ref $in eq "ARRAY"
1317 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
1344 3 21 255 ref $in eq "CODE" or ref $in eq "ARRAY"
14 2 216 ref $in or "GLOB" eq ref \$in
1365 277 0 0 $fh or $sink
1373 2 15 258 delete $attr{'keep_headers'} || delete $attr{'keep_column_names'} || delete $attr{'kh'}
1378 1 1 266 delete $attr{'callbacks'}{'after_in'} || delete $attr{'after_in'} || delete $attr{'callbacks'}{'after_parse'} || delete $attr{'after_parse'}
1380 2 2 273 delete $attr{'callbacks'}{'before_out'} || delete $attr{'before_out'}
1382 4 11 262 delete $attr{'callbacks'}{'on_in'} || delete $attr{'on_in'}
1385 1 3 273 delete $attr{'sep_set'} || delete $attr{'seps'}
1387 42 95 140 delete $attr{'detect_bom'} || delete $attr{'bom'}
1389 7 1 269 delete $attr{'munge'} || delete $attr{'munge_column_names'}
1415 13 264 0 delete $attr{'csv'} || 'Text::CSV_PP'->new(\%attr)
1448 0 0 284 ref $_[0] eq 'Text::CSV_PP' || ref $_[0] eq 'Text::CSV'
1464 1 9 11 @{$in;} == 0 or ref $in->[0] eq "ARRAY"
1493 5 5 1 ref $hdrs || $hdrs eq 'auto'
1508 4 137 112 defined $c->{'hd_s'} or defined $c->{'hd_b'}
141 6 106 defined $c->{'hd_s'} or defined $c->{'hd_b'} or defined $c->{'hd_m'}
143 2 104 defined $c->{'hd_s'} or defined $c->{'hd_b'} or defined $c->{'hd_m'} or defined $c->{'hd_c'}
1527 15 5 7 not ref $key or ref $key eq "ARRAY" and @$key > 1
1533 3 2 3 not ref $val or ref $val eq "ARRAY" and @$val > 0
1548 0 3 0 $hdr{$_} || $_
1552 0 3 0 $hdr{$_} || $_
1558 0 3 0 $hdr{$_} || $_
1625 11 11 213 $c->{'cbai'} || $c->{'cboi'}
1803 8 513 979 $ctx->{'verbatim'} || $ctx->{'eol_len'} >= 2
1972 1 1 21680 not defined $quot or $quot eq "\0"
1977 21488 190 0 $self->{'_re_comb_escape'}{$quot}{$esc} ||= qr/(\Q$quot\E|\Q$esc\E)/
1979 0 2 0 $self->{'_re_comb_escape'}{$quot}{$esc} ||= qr/(\Q$esc\E)/
2030 4 2 1400 $ctx->{'quote_empty'} or $check_meta and $self->is_quoted($i)
2048 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]/
2150 3184 2 338 $state || !$last_error
2156 427 426 3552 $ctx->{'eolx'} or $ctx->{'eol_is_cr'}
2183 19 8 0 $ctx->{'strict_n'} ||= $ctx->{'fld_idx'}
2298 2022 0 33511 $c eq "\n" || $c eq '' || defined $eol && $c eq $eol && $eol ne "\r"
2302 29 24 1121 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
2367 176 159 1267 $c2 eq "\n" || defined $eol && $c2 eq $eol
2480 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'}
2506 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'}
2541 0 60 113 !$v_ref || $$v_ref eq ''
2555 8 8 206 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
2646 0 1 0 !$v_ref || $$v_ref eq ''
2693 4 1 6 not $c2 =~ /[^\x09\x20-\x7E]/ or $c2 eq "\r"
2704 0 0 0 !$v_ref || $$v_ref eq ''
2747 0 3261 26146 not defined $c or $c =~ /[^\x09\x20-\x7E]/
2749 3246 10 5 $ctx->{'binary'} or $ctx->{'utf8'}
2756 5 445 1636 not defined $c or $c =~ /[^\x09\x20-\x7E]/
2759 438 0 9 $ctx->{'binary'} or $ctx->{'utf8'}
2772 32 0 311 $seenSomething or not $ctx->{'useIO'}
2786 5 4 23 $ctx->{'blank_is_undef'} or $ctx->{'empty_is_undef'}
2947 0 756 19905 !defined($$v_ref) || $$v_ref eq ''
12 0 744 $ctx->{'empty_is_undef'} || !($flag & 1) && $ctx->{'blank_is_undef'}
2956 75 2060 1571 $ctx->{'utf8'} || _is_valid_utf8($$v_ref)
3054 4 0 2 (&Scalar::Util::reftype($self) || '') eq 'HASH' || ref($self) =~ /^Text::CSV/