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