line |
true |
false |
branch |
149
|
11 |
67 |
if ($self->{'_lower_cell_limits'}) |
301
|
24 |
0 |
if ($cell =~ /^\D/) |
313
|
0 |
24 |
if @_ < 3 |
316
|
2 |
22 |
if $self->_check_dimensions(0, $lastcol) |
324
|
12 |
10 |
if (defined $width) |
328
|
0 |
12 |
if $width == 0 |
350
|
1 |
0 |
if ($_[0] =~ /^\D/) |
369
|
0 |
0 |
if ($_[0] =~ /^\D/) |
446
|
0 |
2 |
if (length $string >= 255) |
467
|
0 |
2 |
if (length $string >= 255) |
488
|
0 |
1 |
if (defined $_[0]) { } |
507
|
0 |
1 |
if (defined $_[0]) { } |
573
|
4 |
0 |
defined $_[0] ? : |
587
|
4 |
0 |
defined $_[0] ? : |
601
|
4 |
0 |
defined $_[0] ? : |
615
|
4 |
0 |
defined $_[0] ? : |
636
|
2 |
2 |
if ($row_min == $row_max) { } |
664
|
4 |
0 |
if ($_[0] =~ /^\D/) |
678
|
2 |
2 |
if ($col_min == $col_max) { } |
706
|
14 |
2 |
if ($_[0] =~ /^\D/) |
710
|
3 |
13 |
if @_ != 4 |
715
|
1 |
12 |
if ($row1 == 0 and $col1 == 0 and $row2 == $self->{'_xls_rowmax'} - 1 and $col2 == $self->{'_xls_colmax'} - 1) |
739
|
2 |
0 |
if ($_[0] =~ /^\D/) |
743
|
0 |
2 |
if @_ != 4 |
776
|
4 |
0 |
if ($col =~ /^\D/) |
780
|
0 |
4 |
if $col >= $self->{'_xls_colmax'} |
787
|
0 |
4 |
if $col < $col_first or $col > $col_last |
792
|
0 |
4 |
unless @tokens == 3 or @tokens == 7 |
803
|
2 |
2 |
@tokens == 3 ? : |
804
|
2 |
2 |
@tokens == 3 ? : |
831
|
0 |
8 |
unless (exists $operators{$_}) |
870
|
2 |
12 |
if ($row1 == 0 and $row2 == $self->{'_xls_rowmax'} - 1) { } |
|
2 |
10 |
elsif ($col1 == 0 and $col2 == $self->{'_xls_colmax'} - 1) { } |
885
|
6 |
8 |
if ($range1 eq $range2) { } |
915
|
0 |
2 |
unless defined $option |
917
|
0 |
2 |
if ($option == 0) { } |
|
1 |
1 |
elsif ($option == 1) { } |
942
|
2 |
1 |
defined $_[0] ? : |
957
|
0 |
1 |
if (defined $_[0]) { } |
1023
|
0 |
0 |
if ($scale < 10 or $scale > 400) |
1044
|
0 |
1 |
if ($scale < 10 or $scale > 400) |
1067
|
0 |
0 |
if (defined $_[0]) { } |
1086
|
0 |
0 |
unless @_ == 2 |
1087
|
0 |
0 |
unless ref $_[1] eq 'CODE' |
1108
|
129 |
141 |
if ($_[0] =~ /^\D/) |
1115
|
0 |
270 |
unless defined $token |
1123
|
0 |
0 |
if ($token =~ /$re/) |
1125
|
0 |
0 |
if defined $match |
1131
|
26 |
244 |
if (ref $token eq 'ARRAY') { } |
|
0 |
244 |
elsif ($self->{'_leading_zeros'} and $token =~ /^0\d+$/) { } |
|
39 |
205 |
elsif ($token =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/) { } |
|
6 |
199 |
elsif ($token =~ m[^[fh]tt?ps?://]) { } |
|
1 |
198 |
elsif ($token =~ /^mailto:/) { } |
|
0 |
198 |
elsif ($token =~ /^(?:in|ex)ternal:/) { } |
|
2 |
196 |
elsif ($token =~ /^=/) { } |
|
1 |
195 |
elsif ($token =~ /^{=.*}$/) { } |
|
2 |
193 |
elsif ($token eq '') { } |
1190
|
1 |
26 |
if ($_[0] =~ /^\D/) |
1195
|
0 |
27 |
if (ref $_[2] ne 'ARRAY') |
1209
|
6 |
90 |
if (ref $token eq 'ARRAY') { } |
1240
|
0 |
6 |
if ($_[0] =~ /^\D/) |
1245
|
0 |
6 |
if (ref $_[2] ne 'ARRAY') |
1290
|
8 |
0 |
if ($_[0] =~ /^\D/) |
1295
|
0 |
8 |
if (@_ < 3) |
1306
|
0 |
8 |
if $self->_check_dimensions($row, $col) |
1309
|
0 |
8 |
if ($length > $max_len) |
1316
|
0 |
8 |
if $self->_check_dimensions($row, $col) |
1322
|
1 |
7 |
unless ($self->{'_table'}[$row][$col]) |
1352
|
64 |
251 |
if (ref $format) { } |
1385
|
30 |
180 |
if ($cell =~ /\$?([A-Z]{1,3}):\$?([A-Z]{1,3})/) |
1392
|
33 |
147 |
if ($cell =~ /\$?([A-Z]{1,3}\$?\d+):\$?([A-Z]{1,3}\$?\d+)/) |
1399
|
147 |
0 |
if ($cell =~ /\$?([A-Z]{1,3}\$?\d+)/) |
1428
|
344 |
16 |
$1 eq '' ? : |
1430
|
344 |
16 |
$3 eq '' ? : |
1474
|
0 |
6 |
if $array[0] == 0 |
1478
|
0 |
6 |
if @array > 1000 |
1495
|
0 |
0 |
defined $_[0] ? : |
1496
|
0 |
0 |
defined $_[1] ? : |
1497
|
0 |
0 |
defined $_[2] ? : |
1501
|
0 |
0 |
if $self->{'_outline_on'} |
1531
|
0 |
39 |
if ($_[0] =~ /^\D/) |
1535
|
0 |
39 |
if (@_ < 3) |
1545
|
0 |
39 |
if $self->_check_dimensions($row, $col) |
1569
|
1 |
196 |
if ($_[0] =~ /^\D/) |
1573
|
0 |
197 |
if (@_ < 3) |
1586
|
12 |
185 |
if $self->_check_dimensions($row, $col) |
1588
|
0 |
185 |
if (length $str > $self->{'_xls_strmax'}) |
1594
|
0 |
185 |
if ($self->{'_table'}[$row][$col]) |
1621
|
3 |
0 |
if ($_[0] =~ /^\D/) |
1625
|
0 |
3 |
if (@_ < 3) |
1659
|
0 |
2 |
if ($_[0] =~ /^\D/) |
1664
|
0 |
2 |
if @_ < 2 |
1667
|
1 |
1 |
unless defined $_[2] |
1679
|
0 |
1 |
if $self->_check_dimensions($row, $col) |
1704
|
0 |
3 |
if ($_[0] =~ /^\D/) |
1708
|
0 |
3 |
if (@_ < 3) |
1720
|
0 |
3 |
if $self->_check_dimensions($row, $col) |
1723
|
1 |
2 |
if $formula =~ s/^{(.*)}$/$1/ |
1756
|
4 |
0 |
if ($_[0] =~ /^\D/) |
1760
|
0 |
4 |
if (@_ < 5) |
1776
|
0 |
4 |
if $row1 > $row2 |
1777
|
0 |
4 |
if $col1 > $col2 |
1781
|
0 |
4 |
if $self->_check_dimensions($row2, $col2) |
1787
|
1 |
3 |
if ($row1 == $row2 and $col1 == $col2) { } |
1871
|
0 |
7 |
if ($_[0] =~ /^\D/) |
1875
|
0 |
7 |
if (@_ < 3) |
1883
|
6 |
1 |
if ref $args[3] |
1897
|
4 |
3 |
unless defined $str |
1900
|
0 |
7 |
if $self->_check_dimensions($row, $col) |
1927
|
0 |
0 |
if ($_[0] =~ /^\D/) |
1932
|
0 |
0 |
if @_ < 5 |
1941
|
0 |
0 |
if ref $args[5] |
1947
|
0 |
0 |
if $url =~ /^internal:/ |
1948
|
0 |
0 |
if $url =~ /^external:/ |
1970
|
1 |
0 |
if ($_[0] =~ /^\D/) |
1974
|
0 |
1 |
if (@_ < 3) |
1984
|
0 |
1 |
if $self->_check_dimensions($row, $col) |
1990
|
0 |
1 |
unless (defined $date_time) |
2040
|
7 |
625 |
if $date_time =~ /[^0-9T:\-\.Z]/ |
2043
|
0 |
625 |
unless $date_time =~ /\dT|T\d/ |
2054
|
204 |
421 |
if ($time ne '') |
2056
|
204 |
0 |
if ($time =~ /^(\d\d):(\d\d)(:(\d\d(\.\d+)?))?/) { } |
2066
|
1 |
203 |
if $hour >= 24 |
2067
|
1 |
202 |
if $min >= 60 |
2068
|
2 |
200 |
if $sec >= 60 |
2076
|
0 |
621 |
if $date eq '' |
2080
|
619 |
2 |
if ($date =~ /^(\d\d\d\d)-(\d\d)-(\d\d)$/) { } |
2094
|
410 |
209 |
unless ($date_1904) |
2095
|
104 |
306 |
if $date eq '1899-12-31' |
2096
|
1 |
305 |
if $date eq '1900-01-00' |
2097
|
1 |
304 |
if $date eq '1900-02-29' |
2106
|
209 |
304 |
$date_1904 ? : |
2107
|
209 |
304 |
$date_1904 ? : |
2115
|
207 |
306 |
if $year % 4 == 0 and $year % 100 or $year % 400 == 0 |
2116
|
207 |
306 |
if $leap |
2120
|
6 |
507 |
if $year < $epoch or $year > 9999 |
2121
|
6 |
501 |
if $month < 1 or $month > 12 |
2122
|
6 |
495 |
if $day < 1 or $day > $mdays[$month - 1] |
2135
|
292 |
203 |
if $date_1904 == 0 and $days > 59 |
2170
|
0 |
43 |
if @_ < 2 |
2173
|
2 |
41 |
if $self->_check_dimensions($row, 0) |
2181
|
25 |
16 |
if ($height) |
2185
|
0 |
25 |
if $height == 0 |
2206
|
10 |
344 |
if ($row >= $self->{'_xls_rowmax'}) |
2207
|
6 |
338 |
if ($col >= $self->{'_xls_colmax'}) |
2211
|
48 |
290 |
if ($row < $self->{'_dim_rowmin'}) |
2212
|
125 |
213 |
if ($row > $self->{'_dim_rowmax'}) |
2213
|
54 |
284 |
if ($col < $self->{'_dim_colmin'}) |
2214
|
36 |
302 |
if ($col > $self->{'_dim_colmax'}) |
2289
|
41 |
7 |
unless @cols |
2296
|
24 |
31 |
unless ($span) |
2302
|
17 |
7 |
if $col != $previous + 1 |
2303
|
9 |
15 |
if $format |
2304
|
4 |
20 |
if $hidden |
2306
|
14 |
10 |
if $width |
2321
|
31 |
24 |
if (exists $self->{'_set_cols'}{$col + 1} and join('|', @{$self->{'_set_cols'}{$col};}) eq join('|', @{$self->{'_set_cols'}{$col + 1};})) |
2329
|
9 |
15 |
if $span |
2362
|
0 |
0 |
if ($rwFirst > $rwLast) |
2366
|
0 |
0 |
if ($colFirst > $colLast) |
2424
|
0 |
0 |
if ($self->{'_name'} eq $sheetname) { } |
2464
|
0 |
0 |
if ($self->{'_frozen'}) { } |
2466
|
0 |
0 |
unless defined $rwTop |
2467
|
0 |
0 |
unless defined $colLeft |
2471
|
0 |
0 |
unless defined $rwTop |
2472
|
0 |
0 |
unless defined $colLeft |
2487
|
0 |
0 |
unless (defined $pnnAct) |
2488
|
0 |
0 |
if $x != 0 and $y != 0 |
2489
|
0 |
0 |
if $x != 0 and $y == 0 |
2490
|
0 |
0 |
if $x == 0 and $y != 0 |
2491
|
0 |
0 |
if $x == 0 and $y == 0 |
2512
|
1 |
13 |
if $self->{'_orientation'} == 0 |
2513
|
1 |
13 |
if $self->{'_hcenter'} == 1 |
2514
|
1 |
13 |
if $self->{'_vcenter'} == 1 |
2516
|
0 |
14 |
if $self->{'_page_start'} > 0 |
2522
|
1 |
13 |
if $self->{'_margin_head'} != 0.5 |
2524
|
2 |
12 |
if $self->{'_header'} ne '' |
2530
|
1 |
13 |
if $self->{'_margin_foot'} != 0.5 |
2532
|
2 |
12 |
if $self->{'_footer'} ne '' |
2538
|
3 |
11 |
if $self->{'_margin_bottom'} != 1 |
2540
|
3 |
11 |
if $self->{'_margin_left'} != 0.75 |
2542
|
3 |
11 |
if $self->{'_margin_right'} != 0.75 |
2544
|
3 |
11 |
if $self->{'_margin_top'} != 1 |
2548
|
3 |
11 |
if @layout |
2549
|
2 |
12 |
if @header |
2550
|
2 |
12 |
if @footer |
2551
|
7 |
7 |
if @margins |
2566
|
2 |
10 |
if ($self->{'_fit_width'} > 1) |
2572
|
1 |
11 |
if ($self->{'_fit_height'} > 1) |
2583
|
0 |
12 |
if $self->{'_black_white'} |
2584
|
0 |
12 |
if $self->{'_page_order'} |
2585
|
0 |
12 |
if $self->{'_draft_quality'} |
2588
|
1 |
11 |
if ($self->{'_paper_size'}) |
2594
|
1 |
11 |
if ($self->{'_print_scale'} != 100) |
2601
|
2 |
10 |
if $self->{'_print_gridlines'} |
2602
|
1 |
11 |
if $self->{'_print_headers'} |
2617
|
53 |
2 |
unless (keys %{$$self{'_names'};} or $self->{'_repeat_rows'} or $self->{'_repeat_cols'}) |
2623
|
6 |
14 |
if ($self->{'_repeat_rows'} or $self->{'_repeat_cols'}) |
2647
|
2 |
18 |
if ($key eq '_FilterDatabase') |
2675
|
18 |
1 |
if ($_[0] =~ /^\D/) |
2678
|
0 |
19 |
if @_ != 6 |
2679
|
0 |
19 |
unless ref $_[5] |
2690
|
0 |
19 |
if $rwFirst == $rwLast and $colFirst == $colLast |
2694
|
2 |
17 |
if $rwFirst > $rwLast |
2695
|
1 |
18 |
if $colFirst > $colLast |
2699
|
0 |
19 |
if $self->_check_dimensions($rwLast, $colLast) |
2722
|
68 |
2 |
unless @{$self->{'_hbreaks'};} or @{$self->{'_vbreaks'};} |
2730
|
3 |
2 |
if (@{$self->{'_vbreaks'};}) |
2747
|
3 |
2 |
if (@{$self->{'_hbreaks'};}) |
2779
|
0 |
0 |
unless $self->{'_protect'} |
2805
|
0 |
12 |
if ($width < 1) { } |
2843
|
0 |
0 |
if $self->{'_zoom'} == 100 |
2862
|
0 |
0 |
if (@_ < 3) |
2899
|
25 |
48 |
unless $self->{'_dim_changed'} |
2934
|
2228194 |
142 |
unless $self->{'_set_rows'}{$row} or $self->{'_table'}[$row] |
2936
|
163 |
20 |
unless ($span) |
2942
|
42 |
121 |
if $row != $previous + 1 |
2943
|
11 |
152 |
if $height or $autofit |
2944
|
11 |
152 |
if $height |
2945
|
4 |
159 |
if $hidden |
2946
|
10 |
153 |
if $format |
2956
|
20 |
14 |
if (not $self->{'_table'}[$row] || $self->{'_table'}[$row + 1] and exists $self->{'_set_rows'}{$row} and exists $self->{'_set_rows'}{$row + 1} and join('|', @{$self->{'_set_rows'}{$row};}) eq join('|', @{$self->{'_set_rows'}{$row + 1};})) |
2967
|
6 |
157 |
if $span |
2971
|
147 |
16 |
if (my $row_ref = $self->{'_table'}[$row]) { } |
2978
|
254 |
33424 |
if $col_ref |
3019
|
60 |
194 |
if $col != $self->{'prev_col'} + 1 |
3026
|
19 |
16 |
if (exists $self->{'_merge'}{$row} and exists $self->{'_merge'}{$row}{$col}) |
3031
|
14 |
5 |
if $across |
3032
|
10 |
9 |
if $down |
3037
|
19 |
65 |
if $m_row == 0 and $m_col == 0 |
3052
|
8 |
1 |
if (exists $self->{'_comment'}{$row} and exists $self->{'_comment'}{$row}{$col}) |
3060
|
38 |
216 |
if $format |
3064
|
7 |
247 |
if ($datatype == $self->{'_datatypes'}{'Formula'}) |
3067
|
5 |
2 |
if $array_range |
3071
|
7 |
247 |
if ($datatype == $self->{'_datatypes'}{'HRef'}) |
3075
|
1 |
6 |
if defined $tip |
3085
|
39 |
215 |
if ($datatype == $self->{'_datatypes'}{'Number'}) { } |
|
184 |
31 |
elsif ($datatype == $self->{'_datatypes'}{'String'}) { } |
|
1 |
30 |
elsif ($datatype == $self->{'_datatypes'}{'DateTime'}) { } |
|
7 |
23 |
elsif ($datatype == $self->{'_datatypes'}{'Formula'}) { } |
|
7 |
16 |
elsif ($datatype == $self->{'_datatypes'}{'HRef'}) { } |
|
1 |
15 |
elsif ($datatype == $self->{'_datatypes'}{'Blank'}) { } |
|
1 |
14 |
elsif ($datatype == $self->{'_datatypes'}{'Comment'}) { } |
|
14 |
0 |
elsif ($datatype == $self->{'_datatypes'}{'Merge'}) { } |
3088
|
1 |
38 |
if $comment |
3099
|
5 |
179 |
if ($html) { } |
3102
|
3 |
181 |
if $comment |
3111
|
1 |
0 |
if $comment |
3118
|
1 |
6 |
if ($comment) { } |
3138
|
0 |
7 |
if ($self->convert_date_time($data)) { } |
|
0 |
7 |
elsif ($self->{'_leading_zeros'} and $data =~ /^0\d+$/) { } |
|
0 |
7 |
elsif ($data =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/) { } |
3154
|
1 |
6 |
if $comment |
3162
|
0 |
1 |
if ($comment) { } |
3174
|
1 |
0 |
if ($comment) { } |
3210
|
39 |
187 |
if ($datatype eq 'Number') { } |
3384
|
16 |
71 |
if ($row_abs) { } |
3388
|
55 |
16 |
unless $row == $current_row |
3394
|
16 |
71 |
if ($col_abs) { } |
3398
|
36 |
35 |
unless $col == $current_col |
3435
|
4 |
6 |
if ($row_abs) { } |
3439
|
4 |
2 |
unless $row == $current_row |
3446
|
3 |
2 |
if ($row1 eq $row2) { } |
3484
|
0 |
12 |
if ($col > $self->{'_xls_colmax'}) |
3491
|
4 |
8 |
if ($col_abs) { } |
3495
|
8 |
0 |
unless $col == $current_col |
3501
|
4 |
2 |
if ($col_letter1 eq $col_letter2) { } |
3519
|
42 |
31 |
unless $options_changed |
3527
|
14 |
17 |
if ($setup_changed) |
3534
|
4 |
27 |
if $self->{'_fit_page'} |
3537
|
12 |
19 |
if ($print_changed) |
3544
|
1 |
30 |
if $self->{'_screen_gridlines'} == 0 |
3546
|
2 |
29 |
if $self->{'_filter_on'} |
3567
|
3 |
59 |
if ($self->{'_orientation'} == 0 or $self->{'_hcenter'} == 1 or $self->{'_vcenter'} == 1 or $self->{'_header'} ne '' or $self->{'_footer'} ne '' or $self->{'_margin_head'} != 0.5 or $self->{'_margin_foot'} != 0.5 or $self->{'_margin_left'} != 0.75 or $self->{'_margin_right'} != 0.75 or $self->{'_margin_top'} != 1 or $self->{'_margin_bottom'} != 1) |
3586
|
2 |
71 |
if ($self->{'_fit_width'} == 1 and $self->{'_fit_height'} == 1) |
3593
|
5 |
61 |
if ($self->{'_fit_width'} > 1 or $self->{'_fit_height'} > 1 or $self->{'_page_order'} == 1 or $self->{'_black_white'} == 1 or $self->{'_draft_quality'} == 1 or $self->{'_print_comments'} == 1 or $self->{'_paper_size'} != 0 or $self->{'_print_scale'} != 100 or $self->{'_print_gridlines'} == 1 or $self->{'_print_headers'} == 1 or @{$self->{'_hbreaks'};} > 0 or @{$self->{'_vbreaks'};} > 0) |
3612
|
26 |
47 |
if ($print_changed or $setup_changed) |
3621
|
1 |
72 |
if $self->{'_screen_gridlines'} == 0 |
3622
|
2 |
71 |
if $self->{'_filter_on'} |
3638
|
71 |
2 |
unless $self->{'_autofilter'} |
3675
|
4 |
4 |
if (defined $self->{'_filter_cols'}{$col}) |
3680
|
2 |
2 |
if $col != $prev_col + 1 |
3692
|
2 |
2 |
if (@tokens == 2) { } |
3745
|
2 |
20 |
if ($sheetname =~ /^Sheet\d+$/) { } |