|  line  | 
 true  | 
 false  | 
 branch  | 
 
| 
37
 | 
 1  | 
 0  | 
 if ($self->sheet and ref $self->sheet and ref($self->sheet)->can('get_cell'))  | 
 
| 
44
 | 
 0  | 
 0  | 
 unless @sheets  | 
 
| 
45
 | 
 0  | 
 0  | 
 if (defined $self->sheet)  | 
 
| 
46
 | 
 0  | 
 0  | 
 if (ref $self->sheet eq 'Regexp') { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (ref $self->sheet eq 'CODE') { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (not ref $self->sheet) { }  | 
 
| 
56
 | 
 0  | 
 0  | 
 unless @sheets  | 
 
| 
64
 | 
 0  | 
 0  | 
 unless defined $f  | 
 
| 
67
 | 
 0  | 
 0  | 
 if (ref $f and ref($f)->can('worksheets')) { }  | 
 
| 
73
 | 
 0  | 
 0  | 
 if (ref $f eq 'GLOB' or ref $f and ref($f)->can('read')) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (-e $f) { }  | 
 
| 
75
 | 
 0  | 
 0  | 
 unless $fpos >= 0  | 
 
| 
76
 | 
 0  | 
 0  | 
 unless $f->read(my $buf, 4) == 4  | 
 
| 
77
 | 
 0  | 
 0  | 
 unless $f->seek($fpos, 0)  | 
 
| 
78
 | 
 0  | 
 0  | 
 if $buf eq "\320\317\cQ\340"  | 
 
| 
82
 | 
 0  | 
 0  | 
 unless open my $fh, '<', $f  | 
 
| 
83
 | 
 0  | 
 0  | 
 unless read($fh, my $buf, 4) == 4  | 
 
| 
84
 | 
 0  | 
 0  | 
 if $buf eq "\320\317\cQ\340"  | 
 
| 
87
 | 
 0  | 
 0  | 
 if $Spreadsheet::ExcelTableReader::log->is_notice  | 
 
| 
90
 | 
 0  | 
 0  | 
 if ($type eq 'xlsx') { }  | 
 
| 
93
 | 
 0  | 
 0  | 
 if (ref $f eq 'GLOB')  | 
 
| 
96
 | 
 0  | 
 0  | 
 unless $f_obj->fdopen($f, 'r')  | 
 
| 
103
 | 
 0  | 
 0  | 
 unless defined $wbook  | 
 
| 
111
 | 
 0  | 
 0  | 
 ref $args eq 'ARRAY' ? :  | 
 
| 
 | 
 0  | 
 0  | 
 !$args ? :  | 
 
| 
 | 
 0  | 
 0  | 
 unless $self->find_table(!$args ? () : (ref $args eq 'ARRAY' ? @$args : %$args))  | 
 
| 
118
 | 
 0  | 
 1  | 
 unless defined $list and ref $list eq 'ARRAY'  | 
 
| 
121
 | 
 2  | 
 0  | 
 if (not ref $_) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (ref $_ eq 'HASH') { }  | 
 
| 
129
 | 
 0  | 
 0  | 
 if defined $args{'isa'} and not defined $args{'type'}  | 
 
| 
131
 | 
 0  | 
 0  | 
 unless defined $args{'header'}  | 
 
| 
172
 | 
 0  | 
 0  | 
 if $Spreadsheet::ExcelTableReader::log->is_trace  | 
 
| 
176
 | 
 0  | 
 0  | 
 unless $row >= $rmin and $row <= $rmax  | 
 
| 
178
 | 
 0  | 
 0  | 
 $c ? :  | 
 
| 
181
 | 
 0  | 
 0  | 
 if ($match_count >= $num_required_fields)  | 
 
| 
183
 | 
 0  | 
 0  | 
 if ($field_col)  | 
 
| 
197
 | 
 0  | 
 0  | 
 unless defined $location  | 
 
| 
223
 | 
 0  | 
 0  | 
 unless defined $v and length $v  | 
 
| 
225
 | 
 0  | 
 0  | 
 if $v =~ $field->header_regex  | 
 
| 
235
 | 
 0  | 
 0  | 
 unless defined $field_found{$field->name}  | 
 
| 
240
 | 
 0  | 
 0  | 
 if (not @available) { }  | 
 
| 
 | 
 0  | 
 0  | 
 elsif (@available > 1) { }  | 
 
| 
242
 | 
 0  | 
 0  | 
 if ($field->required)  | 
 
| 
244
 | 
 0  | 
 0  | 
 if $Spreadsheet::ExcelTableReader::log->is_debug  | 
 
| 
253
 | 
 0  | 
 0  | 
 if (++$ambiguous > @todo)  | 
 
| 
254
 | 
 0  | 
 0  | 
 if $Spreadsheet::ExcelTableReader::log->is_debug  | 
 
| 
266
 | 
 0  | 
 0  | 
 if $Spreadsheet::ExcelTableReader::log->is_debug  | 
 
| 
274
 | 
 0  | 
 0  | 
 unless defined $self->{'_table_location'}  | 
 
| 
284
 | 
 0  | 
 0  | 
 unless defined $self->_table_location  | 
 
| 
306
 | 
 0  | 
 0  | 
 if keys %opts  | 
 
| 
309
 | 
 0  | 
 0  | 
 unless defined $as  | 
 
| 
312
 | 
 0  | 
 0  | 
 unless defined $blank_row  | 
 
| 
331
 | 
 0  | 
 0  | 
 unless (defined $src_col)  | 
 
| 
332
 | 
 0  | 
 0  | 
 unless $hash  | 
 
| 
336
 | 
 0  | 
 0  | 
 if $hash  | 
 
| 
342
 | 
 0  | 
 0  | 
 unless defined $v  | 
 
| 
345
 | 
 0  | 
 0  | 
 unless length $v  | 
 
| 
352
 | 
 0  | 
 0  | 
 unless defined $v and length($v = $v->value)  | 
 
| 
356
 | 
 0  | 
 0  | 
 $field->trim ? :  | 
 
| 
358
 | 
 0  | 
 0  | 
 if (defined(my $type = $field->type))  | 
 
| 
362
 | 
 0  | 
 0  | 
 if $type->check($_[0][$idx])  | 
 
| 
372
 | 
 0  | 
 0  | 
 unless $remaining > 0  | 
 
| 
379
 | 
 0  | 
 0  | 
 if $skip_blank_row and $is_blank_row  | 
 
| 
380
 | 
 0  | 
 0  | 
 if ($end_blank_row and $is_blank_row)  | 
 
| 
385
 | 
 0  | 
 0  | 
 $hash ? :  |