| 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 |