line |
true |
false |
branch |
424
|
475 |
169 |
unless defined $args->{$parameter} |
522
|
4 |
142 |
if (defined $definition->{'regex'}) |
525
|
3 |
1 |
if (defined $definition->{'params'}) |
541
|
10 |
132 |
if (defined $definition->{'strptime'}) |
549
|
132 |
0 |
if (defined $definition->{'heuristic'}) |
651
|
5 |
15 |
if (defined $definition->{'sprintf'}) |
660
|
8 |
7 |
if (defined $definition->{'strftime'}) |
668
|
6 |
1 |
if (defined $definition->{'data_structure'}) |
669
|
3 |
3 |
if ($definition->{'data_structure'} =~ /^hash(?:ref)?$/) |
678
|
3 |
0 |
if ($definition->{'data_structure'} =~ /^array(?:ref)?$/) |
688
|
1 |
0 |
if (defined $definition->{'coderef'}) |
861
|
145 |
16 |
if defined $value |
892
|
0 |
3 |
unless @components |
926
|
0 |
11 |
unless $success |
930
|
0 |
2 |
if (defined $date{'hour_12'} and $date{'hour_12'} > 12 || $date{'hour_12'} == 0) |
983
|
0 |
0 |
$TOKENS->{$1} ? : |
999
|
10 |
0 |
if $self->{'debug'} |
1063
|
132 |
0 |
if $self->{'debug'} |
1065
|
0 |
132 |
unless @parts |
1071
|
343 |
0 |
if $self->{'debug'} |
1072
|
0 |
343 |
if ($part =~ /^$regex_for_time_zone_offset$/) { } |
|
5 |
338 |
elsif ($part =~ /^$regex_for_time$/) { } |
|
0 |
338 |
elsif ($part =~ /^$regex_for_time_zone_long_name$/) { } |
|
67 |
271 |
elsif ($part =~ /^$regex_for_date$/) { } |
|
3 |
268 |
elsif ($part =~ /^$regex_for_julian_day$/) { } |
|
130 |
138 |
elsif ($part =~ /^$regex_for_number$/) { } |
|
31 |
107 |
elsif ($part =~ /^$regex_for_string$/) { } |
|
98 |
9 |
elsif ($part =~ /^$regex_for_whitespace$/) { } |
1073
|
0 |
0 |
if $self->{'debug'} |
1080
|
5 |
0 |
if $self->{'debug'} |
1084
|
5 |
0 |
if $self->{'debug'} |
1088
|
5 |
0 |
if (@time > 2) |
1089
|
5 |
0 |
if $self->{'debug'} |
1120
|
21 |
46 |
if ($date_parts[0] =~ /^$TOKENS->{'year'}{'regex'}$/ and scalar keys %$date == 0) { } |
|
2 |
44 |
elsif ($hint eq 'dmy' and $date_parts[0] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/ || $date_parts[0] =~ /^$TOKENS->{'month_name'}{'regex'}$/) { } |
|
3 |
41 |
elsif ($hint eq 'mdy' and $date_parts[1] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/ || $date_parts[1] =~ /^$TOKENS->{'month_name'}{'regex'}$/) { } |
1149
|
41 |
26 |
unless ($order_string =~ /^ymd|dmy|mdy$/) |
1150
|
41 |
0 |
if $self->{'debug'} |
1155
|
57 |
119 |
if ($order[$index] eq 'y') { } |
|
59 |
60 |
elsif ($order[$index] eq 'm') { } |
|
60 |
0 |
elsif ($order[$index] eq 'd') { } |
1156
|
34 |
23 |
if ($date_parts[$index] =~ /^$TOKENS->{'year'}{'regex'}$/) { } |
|
20 |
3 |
elsif ($date_parts[$index] =~ /^$TOKENS->{'year_abbr'}{'regex'}$/) { } |
1157
|
34 |
0 |
if $self->{'debug'} |
1162
|
20 |
0 |
if $self->{'debug'} |
1174
|
42 |
17 |
if ($date_parts[$index] =~ /^$TOKENS->{'month'}{'regex'}$/ and $date_parts[$index] <= 12) { } |
|
12 |
5 |
elsif ($date_parts[$index] =~ /^$TOKENS->{'month_abbr'}{'regex'}$/) { } |
1179
|
42 |
0 |
if $self->{'debug'} |
1184
|
12 |
0 |
if $self->{'debug'} |
1196
|
14 |
46 |
if (not $date_parts[$index] =~ /^$TOKENS->{'day'}{'regex'}$/ or $date_parts[$index] > 31) |
1206
|
46 |
0 |
if $self->{'debug'} |
1210
|
109 |
45 |
if $index < 2 |
1220
|
4 |
126 |
if (length $part == 8) { } |
|
4 |
122 |
elsif (length $part == 6) { } |
|
3 |
119 |
elsif (length $part == 3 and defined $date->{'year'}) { } |
|
29 |
90 |
elsif (length $part == 4) { } |
1236
|
1 |
3 |
if (defined $date->{'year'}) { } |
1271
|
3 |
0 |
if $self->{'debug'} |
1276
|
2 |
27 |
if (defined $date->{'year'} or defined $date->{'year_abbr'}) { } |
1286
|
2 |
2 |
unless ($TOKENS->{$token}{'constraint'}->($hm{$token})) |
1305
|
0 |
27 |
unless defined $token |
1306
|
27 |
0 |
if $self->{'debug'} |
1309
|
15 |
0 |
unless (defined $date->{'day'} or defined $date->{'month'} or defined $date->{'month_abbr'} or defined $date->{'month_name'}) |
1324
|
23 |
67 |
if (($order_string // $hint) eq 'dmy') { } |
|
24 |
43 |
elsif (($order_string // $hint) eq 'mdy') { } |
|
43 |
0 |
elsif (($order_string // $hint) eq 'ymd') { } |
1332
|
4 |
19 |
unless defined $token |
1333
|
19 |
0 |
if $self->{'debug'} |
1345
|
4 |
20 |
unless defined $token |
1346
|
20 |
0 |
if $self->{'debug'} |
1358
|
4 |
39 |
unless defined $token |
1359
|
39 |
0 |
if $self->{'debug'} |
1364
|
0 |
0 |
if $self->{'debug'} |
1377
|
29 |
2 |
if ($token) { } |
1378
|
24 |
5 |
if ($token eq 'month_name' or $token eq 'month_abbr') |
1379
|
6 |
18 |
if (defined $date->{'month'}) |
1381
|
6 |
0 |
if (($order_string // $hint) =~ /md/) |
1382
|
6 |
0 |
if $self->{'debug'} |
1384
|
6 |
14 |
if ($parser_part =~ /\?/) |
1392
|
29 |
0 |
if $self->{'debug'} |
1397
|
2 |
0 |
if $self->{'debug'} |
1402
|
98 |
0 |
if $self->{'debug'} |
1406
|
9 |
0 |
if $self->{'debug'} |
1412
|
1 |
95 |
if (defined $date->{'am_or_pm'} and lc $date->{'am_or_pm'} eq 'pm') |
1413
|
1 |
0 |
if (defined $date->{'hour'} and $date->{'hour'} < 12) |
1416
|
1 |
12 |
if ($parser_part =~ /\?/) |
1423
|
96 |
0 |
if $self->{'debug'} |
1426
|
96 |
0 |
unless (defined $known_parsers->{$parser_regex}) |
1495
|
6 |
1 |
if $structure eq 'arrayref' |
1536
|
3 |
0 |
if $structure eq 'hashref' |
1665
|
52 |
0 |
if ($token =~ /%\{(\w+)\}/) |
1670
|
52 |
0 |
if $self->{'debug'} |
1673
|
2 |
50 |
if (defined $TOKENS->{$internal}{'storage'}) |
1685
|
8 |
0 |
if $self->{'debug'} |
1708
|
68 |
0 |
if $self->{'debug'} |
1709
|
0 |
68 |
if (defined $self->{'strptime_mappings'}{$token}) { } |
|
65 |
3 |
elsif (defined $DEFAULT_STRPTIME_MAPPINGS->{$token}) { } |
1716
|
3 |
65 |
unless (defined $internal) |
1717
|
3 |
0 |
if $self->{'debug'} |
1721
|
0 |
65 |
unless (defined $TOKENS->{$internal}{'regex'}) |
1724
|
65 |
0 |
if $self->{'debug'} |
1743
|
52 |
0 |
if $self->{'debug'} |
1744
|
0 |
52 |
if (defined $self->{'strftime_mappings'}{$token}) |
1747
|
0 |
52 |
if (defined $self->{'strptime_mappings'}{$token}) { } |
|
0 |
52 |
elsif (defined $DEFAULT_STRFTIME_MAPPINGS->{$token}) { } |
|
52 |
0 |
elsif (defined $DEFAULT_STRPTIME_MAPPINGS->{$token}) { } |
1757
|
0 |
52 |
unless (defined $internal) |
1758
|
0 |
0 |
if $self->{'debug'} |
1762
|
0 |
52 |
unless (defined $TOKENS->{$internal}{'sprintf'}) |
1765
|
52 |
0 |
if $self->{'debug'} |
1790
|
0 |
8 |
if defined $date->{$target_token} |
1794
|
6 |
9 |
if (defined $transformations->{$target_token}) |
1796
|
6 |
0 |
if (defined $date->{$source_token} and defined $transformations->{$target_token}{$source_token}) |
1833
|
54 |
325 |
if ($token eq 'day') |
1834
|
14 |
40 |
if defined $already_claimed->{'day'} |
1835
|
0 |
40 |
unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/ |
1836
|
8 |
32 |
if ($date_part > 31) |
1844
|
66 |
259 |
if ($token eq 'month') |
1845
|
18 |
48 |
if defined $already_claimed->{'month'} |
1846
|
13 |
35 |
if defined $already_claimed->{'month_abbr'} |
1847
|
5 |
30 |
if defined $already_claimed->{'month_name'} |
1848
|
0 |
30 |
unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/ |
1849
|
4 |
26 |
if ($date_part > 12) |
1857
|
133 |
126 |
if ($token eq 'year' or $token eq 'year_abbr') |
1858
|
36 |
97 |
if defined $already_claimed->{'year'} |
1859
|
28 |
69 |
if defined $already_claimed->{'year_abbr'} |
1860
|
22 |
47 |
unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/ |
1865
|
0 |
126 |
if defined $already_claimed->{$token} |
1866
|
97 |
29 |
unless $date_part =~ /^$TOKENS->{$token}{'regex'}$/ |
1870
|
0 |
2 |
if ($hint) |
1903
|
242 |
0 |
$count ? : |
1929
|
20 |
0 |
$count ? : |
1950
|
0 |
146 |
unless (&$has_parser($self->{'active_parsers'})) |
1956
|
110 |
36 |
if defined $date |
1979
|
0 |
20 |
unless defined $date |
1982
|
0 |
20 |
unless (&$has_formatter($self->{'active_formatters'})) |
1990
|
20 |
0 |
if scalar @formatted == 1 |
2012
|
5 |
0 |
if scalar @formatted == 1 |