Profile of lib/DateTime/Format/Alami/EN.pm

← Index
NYTProf Performance Profile «line view»
For -e
Run on Thu Jun 30 16:34:56 2016
Reported on Thu Jun 30 16:35:08 2016

Filename | /zpool_host_mnt/mnt/home/s1/repos/perl-DateTime-Format-Alami/lib/DateTime/Format/Alami/EN.pm
Statements | Executed 103 statements in 5.19ms

Subroutines
Calls | P | F | Exclusive Time | Inclusive Time | Subroutine
--- | --- | --- | --- | --- | ---
1 | 1 | 1 | 2.90ms | 2.95ms | DateTime::Format::Alami::EN::::BEGIN@8DateTime::Format::Alami::EN::BEGIN@8
1 | 1 | 1 | 737µs | 1.80ms | DateTime::Format::Alami::EN::::BEGIN@14DateTime::Format::Alami::EN::BEGIN@14
1 | 1 | 1 | 680µs | 4.95ms | DateTime::Format::Alami::EN::::BEGIN@91DateTime::Format::Alami::EN::BEGIN@91
1 | 1 | 1 | 635µs | 712µs | DateTime::Format::Alami::EN::::BEGIN@7DateTime::Format::Alami::EN::BEGIN@7
1 | 1 | 1 | 34µs | 34µs | DateTime::Format::Alami::EN::::BEGIN@6DateTime::Format::Alami::EN::BEGIN@6
1 | 1 | 1 | 8µs | 19.3ms | DateTime::Format::Alami::EN::::BEGIN@92DateTime::Format::Alami::EN::BEGIN@92
5 | 2 | 1 | 6µs | 6µs | DateTime::Format::Alami::EN::::w_secondDateTime::Format::Alami::EN::w_second
5 | 2 | 1 | 5µs | 5µs | DateTime::Format::Alami::EN::::w_minuteDateTime::Format::Alami::EN::w_minute
5 | 2 | 1 | 5µs | 5µs | DateTime::Format::Alami::EN::::w_hourDateTime::Format::Alami::EN::w_hour
4 | 3 | 1 | 4µs | 4µs | DateTime::Format::Alami::EN::::o_numDateTime::Format::Alami::EN::o_num
2 | 2 | 1 | 4µs | 4µs | DateTime::Format::Alami::EN::::w_janDateTime::Format::Alami::EN::w_jan
3 | 1 | 1 | 4µs | 4µs | DateTime::Format::Alami::EN::::w_monthDateTime::Format::Alami::EN::w_month
3 | 1 | 1 | 4µs | 4µs | DateTime::Format::Alami::EN::::w_weekDateTime::Format::Alami::EN::w_week
3 | 1 | 1 | 4µs | 4µs | DateTime::Format::Alami::EN::::w_yearDateTime::Format::Alami::EN::w_year
3 | 1 | 1 | 3µs | 3µs | DateTime::Format::Alami::EN::::w_dayDateTime::Format::Alami::EN::w_day
2 | 2 | 1 | 3µs | 3µs | DateTime::Format::Alami::EN::::w_mondayDateTime::Format::Alami::EN::w_monday
2 | 2 | 1 | 3µs | 3µs | DateTime::Format::Alami::EN::::w_tuesdayDateTime::Format::Alami::EN::w_tuesday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_febDateTime::Format::Alami::EN::w_feb
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_thursdayDateTime::Format::Alami::EN::w_thursday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_augDateTime::Format::Alami::EN::w_aug
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_marDateTime::Format::Alami::EN::w_mar
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_decDateTime::Format::Alami::EN::w_dec
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_fridayDateTime::Format::Alami::EN::w_friday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_junDateTime::Format::Alami::EN::w_jun
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_saturdayDateTime::Format::Alami::EN::w_saturday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_wednesdayDateTime::Format::Alami::EN::w_wednesday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_aprDateTime::Format::Alami::EN::w_apr
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_octDateTime::Format::Alami::EN::w_oct
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_sundayDateTime::Format::Alami::EN::w_sunday
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_sepDateTime::Format::Alami::EN::w_sep
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_julDateTime::Format::Alami::EN::w_jul
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_mayDateTime::Format::Alami::EN::w_may
1 | 1 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::p_dateymdDateTime::Format::Alami::EN::p_dateymd
2 | 2 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::w_novDateTime::Format::Alami::EN::w_nov
1 | 1 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::o_ampmDateTime::Format::Alami::EN::o_ampm
1 | 1 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::p_which_dowDateTime::Format::Alami::EN::p_which_dow
1 | 1 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::p_date_timeDateTime::Format::Alami::EN::p_date_time
1 | 1 | 1 | 2µs | 2µs | DateTime::Format::Alami::EN::::p_dur_agoDateTime::Format::Alami::EN::p_dur_ago
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::o_cardinal_suffixDateTime::Format::Alami::EN::o_cardinal_suffix
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_dur_laterDateTime::Format::Alami::EN::p_dur_later
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_nowDateTime::Format::Alami::EN::p_now
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_todayDateTime::Format::Alami::EN::p_today
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_yesterdayDateTime::Format::Alami::EN::p_yesterday
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::o_dateDateTime::Format::Alami::EN::o_date
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_timeDateTime::Format::Alami::EN::p_time
1 | 1 | 1 | 1µs | 1µs | DateTime::Format::Alami::EN::::p_tomorrowDateTime::Format::Alami::EN::p_tomorrow
0 | 0 | 0 | 0s | 0s | DateTime::Format::Alami::EN::::_parse_numDateTime::Format::Alami::EN::_parse_num

Call graph for these subroutines as a Graphviz dot language file.

Line | State ments | Time on line | Calls | Time in subs | Code
--- | --- | --- | --- | --- | ---
1 |  |  |  |  | package DateTime::Format::Alami::EN;
2 |  |  |  |  |
3 |  |  |  |  | # DATE
4 |  |  |  |  | # VERSION
5 |  |  |  |  |
6 | 2 | 66µs | 1 | 34µs | # spent 34µs within DateTime::Format::Alami::EN::BEGIN@6 which was called: # once (34µs+0s) by main::BEGIN@0 at line 6 use 5.014000; # spent 34µs making 1 call to DateTime::Format::Alami::EN::BEGIN@6
7 | 2 | 402µs | 2 | 716µs | # spent 712µs (635+77) within DateTime::Format::Alami::EN::BEGIN@7 which was called: # once (635µs+77µs) by main::BEGIN@0 at line 7 use strict; # spent 712µs making 1 call to DateTime::Format::Alami::EN::BEGIN@7 # spent 4µs making 1 call to strict::import
8 | 2 | 2.79ms | 2 | 2.96ms | # spent 2.95ms (2.90+49µs) within DateTime::Format::Alami::EN::BEGIN@8 which was called: # once (2.90ms+49µs) by main::BEGIN@0 at line 8 use warnings; # spent 2.95ms making 1 call to DateTime::Format::Alami::EN::BEGIN@8 # spent 11µs making 1 call to warnings::import
9 |  |  |  |  |
10 |  |  |  |  | # XXX holidays -> christmas | new year | ...
11 |  |  |  |  | # XXX timezone in time
12 |  |  |  |  | # XXX more patterns from DF:Natural
13 |  |  |  |  |
14 | 2 | 1.11ms | 2 | 1.85ms | # spent 1.80ms (737µs+1.06) within DateTime::Format::Alami::EN::BEGIN@14 which was called: # once (737µs+1.06ms) by main::BEGIN@0 at line 14 use Parse::Number::EN qw(parse_number_en); # spent 1.80ms making 1 call to DateTime::Format::Alami::EN::BEGIN@14 # spent 55µs making 1 call to Exporter::import
15 |  |  |  |  |
16 | 4 | 11µs |  |  | # spent 4µs within DateTime::Format::Alami::EN::o_num which was called 4 times, avg 975ns/call: # 2 times (2µs+0s) by DateTime::Format::Alami::o_dur at line 366 of lib/DateTime/Format/Alami.pm, avg 1µs/call # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm # once (700ns+0s) by DateTime::Format::Alami::o_timedur at line 390 of lib/DateTime/Format/Alami.pm sub o_num { $Parse::Number::EN::Pat }
17 |  |  |  |  | sub _parse_num { parse_number_en(text => $_[1]) }
18 | 3 | 8µs |  |  | # spent 4µs within DateTime::Format::Alami::EN::w_year which was called 3 times, avg 1µs/call: # 3 times (4µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call sub w_year { ["year", "years", "y"] }
19 | 3 | 7µs |  |  | # spent 4µs within DateTime::Format::Alami::EN::w_month which was called 3 times, avg 1µs/call: # 3 times (4µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call sub w_month { ["month", "months", "mon"] }
20 | 3 | 7µs |  |  | # spent 4µs within DateTime::Format::Alami::EN::w_week which was called 3 times, avg 1µs/call: # 3 times (4µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call sub w_week { ["week", "weeks", "wk", "wks"] }
21 | 3 | 6µs |  |  | # spent 3µs within DateTime::Format::Alami::EN::w_day which was called 3 times, avg 967ns/call: # 3 times (3µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 967ns/call sub w_day { ["day", "days", "d"] }
22 | 5 | 11µs |  |  | # spent 5µs within DateTime::Format::Alami::EN::w_hour which was called 5 times, avg 1µs/call: # 3 times (3µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call # 2 times (2µs+0s) by DateTime::Format::Alami::o_timedurwords at line 384 of lib/DateTime/Format/Alami.pm, avg 1µs/call sub w_hour { ["hour", "hours", "h"] }
23 | 5 | 11µs |  |  | # spent 5µs within DateTime::Format::Alami::EN::w_minute which was called 5 times, avg 1µs/call: # 3 times (3µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call # 2 times (2µs+0s) by DateTime::Format::Alami::o_timedurwords at line 384 of lib/DateTime/Format/Alami.pm, avg 950ns/call sub w_minute { ["minute", "minutes", "min", "mins"] }
24 | 5 | 11µs |  |  | # spent 6µs within DateTime::Format::Alami::EN::w_second which was called 5 times, avg 1µs/call: # 3 times (3µs+0s) by DateTime::Format::Alami::o_durwords at line 360 of lib/DateTime/Format/Alami.pm, avg 1µs/call # 2 times (2µs+0s) by DateTime::Format::Alami::o_timedurwords at line 384 of lib/DateTime/Format/Alami.pm, avg 1µs/call sub w_second { ["second", "seconds", "sec", "secs", "s"] }
25 |  |  |  |  |
26 | 2 | 8µs |  |  | # spent 4µs within DateTime::Format::Alami::EN::w_jan which was called 2 times, avg 2µs/call: # once (2µs+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm # once (2µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm sub w_jan { ["january", "jan"] }
27 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_feb which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_feb { ["february", "feb"] }
28 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_mar which was called 2 times, avg 1µs/call: # once (2µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_mar { ["march", "mar"] }
29 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_apr which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_apr { ["april", "apr"] }
30 | 2 | 5µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_may which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (800ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_may { ["may"] }
31 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_jun which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_jun { ["june", "jun"] }
32 | 2 | 5µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_jul which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_jul { ["july", "jul"] }
33 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_aug which was called 2 times, avg 1µs/call: # once (2µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_aug { ["august", "aug"] }
34 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_sep which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_sep { ["september", "sept", "sep"] }
35 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_oct which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_oct { ["october", "oct"] }
36 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_nov which was called 2 times, avg 950ns/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_nov { ["november", "nov"] }
37 | 2 | 7µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_dec which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_monthname at line 342 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 127 of lib/DateTime/Format/Alami.pm sub w_dec { ["december", "dec"] }
38 |  |  |  |  |
39 | 2 | 7µs |  |  | # spent 3µs within DateTime::Format::Alami::EN::w_monday which was called 2 times, avg 1µs/call: # once (2µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_monday { ["monday", "mon"] }
40 | 2 | 7µs |  |  | # spent 3µs within DateTime::Format::Alami::EN::w_tuesday which was called 2 times, avg 1µs/call: # once (2µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_tuesday { ["tuesday", "tue"] }
41 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_wednesday which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_wednesday { ["wednesday", "wed"] }
42 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_thursday which was called 2 times, avg 1µs/call: # once (2µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_thursday { ["thursday", "thu"] }
43 | 2 | 7µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_friday which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_friday { ["friday", "fri"] }
44 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_saturday which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (1µs+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_saturday { ["saturday", "sat"] }
45 | 2 | 6µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::w_sunday which was called 2 times, avg 1µs/call: # once (1µs+0s) by DateTime::Format::Alami::o_dow at line 350 of lib/DateTime/Format/Alami.pm # once (900ns+0s) by DateTime::Format::Alami::new at line 138 of lib/DateTime/Format/Alami.pm sub w_sunday { ["sunday", "sun"] }
46 |  |  |  |  |
47 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_now which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_now { "(?:(?:(?:right|just) \\s+ )?now|immediately)" }
48 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_today which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_today { "(?:today|this \\s+ day)" }
49 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_tomorrow which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_tomorrow { "(?:tomorrow|tom)" }
50 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_yesterday which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_yesterday { "(?:yesterday|yest)" }
51 |  |  |  |  |
52 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::o_cardinal_suffix which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub o_cardinal_suffix { '(?:\s*(?:th|nd|st))' }
53 |  |  |  |  |
54 | 1 | 3µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::p_dateymd which was called: # once (2µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_dateymd { join(
55 |  |  |  |  | # we use the 'local' trick here in embedded code (see perlre) to be
56 |  |  |  |  | # backtrack-safe. we want to unset $m->{o_yearint} when date does not
57 |  |  |  |  | # contain year. $m->{o_yearint} might be set when we try the patterns but
58 |  |  |  |  | # might end up needing to be unset if the matching pattern ends up not
59 |  |  |  |  | # having year.
60 |  |  |  |  | "",
61 |  |  |  |  | '(?{ $DateTime::Format::Alami::_has_year = 0 })',
62 |  |  |  |  | '(?: <o_dayint><o_cardinal_suffix>? (?:\\s*|[ /-]) <o_monthname> | <o_monthname> (?:\\s*|[ /-]) <o_dayint><o_cardinal_suffix>?\\b | <o_monthint>[/-]<o_dayint>\\b )',
63 |  |  |  |  | '(?: \\s*[,/-]?\\s* <o_yearint> (?{ local $DateTime::Format::Alami::_has_year = $DateTime::Format::Alami::_has_year + 1 }))?',
64 |  |  |  |  | '(?{ delete $DateTime::Format::Alami::m->{o_yearint} unless $DateTime::Format::Alami::_has_year })',
65 |  |  |  |  | )}
66 |  |  |  |  |
67 | 1 | 4µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::p_dur_ago which was called: # once (2µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_dur_ago { "<o_dur> \\s+ (?:ago)" }
68 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_dur_later which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_dur_later { "<o_dur> \\s+ (?:later) | in \\s+ <o_dur>" }
69 |  |  |  |  |
70 | 1 | 3µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::p_which_dow which was called: # once (2µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_which_dow { join(
71 |  |  |  |  | "",
72 |  |  |  |  | '(?{ $DateTime::Format::Alami::_offset = 0 })',
73 |  |  |  |  | "(?:",
74 |  |  |  |  | ' (?: (?:last \s+)(?{ local $DateTime::Format::Alami::_offset = -1 }) | (?:next \s+)(?{ local $DateTime::Format::Alami::_offset = 1 }) | (?:this \s+)?)',
75 |  |  |  |  | ' <o_dow>',
76 |  |  |  |  | ")",
77 |  |  |  |  | '(?{ $DateTime::Format::Alami::m->{offset} = $DateTime::Format::Alami::_offset })',
78 |  |  |  |  | )}
79 |  |  |  |  |
80 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::o_date which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub o_date { "(?: <p_which_dow>|<p_today>|<p_tomorrow>|<p_yesterday>|<p_dateymd>)" }
81 | 1 | 3µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::o_ampm which was called: # once (2µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub o_ampm { "(?: am|pm)" }
82 | 1 | 3µs |  |  | # spent 1µs within DateTime::Format::Alami::EN::p_time which was called: # once (1µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_time { "(?: <o_hour>[:.]<o_minute>(?: [:.]<o_second>)? \\s* <o_ampm>?)" } # XXX am/pm
83 | 1 | 3µs |  |  | # spent 2µs within DateTime::Format::Alami::EN::p_date_time which was called: # once (2µs+0s) by DateTime::Format::Alami::new at line 61 of lib/DateTime/Format/Alami.pm sub p_date_time { "(?:<o_date> \\s+ (?:(?:on|at) \\s+)? <p_time>)" }
84 |  |  |  |  |
85 |  |  |  |  | # the ordering is a bit weird because: we need to apply role at compile-time
86 |  |  |  |  | # before the precomputed $RE mentions $o & $m thus creating the package
87 |  |  |  |  | # DateTime::Format::Alami and this makes Role::Tiny::With complains that DT:F:A
88 |  |  |  |  | # is not a role. then, if we are to apply the role, we need to already declare
89 |  |  |  |  | # the methods required by the role.
90 |  |  |  |  |
91 | 2 | 473µs | 2 | 4.99ms | # spent 4.95ms (680µs+4.27) within DateTime::Format::Alami::EN::BEGIN@91 which was called: # once (680µs+4.27ms) by main::BEGIN@0 at line 91 use Role::Tiny::With; # spent 4.95ms making 1 call to DateTime::Format::Alami::EN::BEGIN@91 # spent 42µs making 1 call to Exporter::import
92 | 1 | 107µs | 2 | 38.7ms | # spent 19.3ms (8µs+19.3) within DateTime::Format::Alami::EN::BEGIN@92 which was called: # once (8µs+19.3ms) by main::BEGIN@0 at line 92 BEGIN { with 'DateTime::Format::Alami' }; # spent 19.3ms making 1 call to DateTime::Format::Alami::EN::BEGIN@92 # spent 19.3ms making 1 call to Role::Tiny::With::with
93 |  |  |  |  |
94 | 3 | 4µs | 1 | 13.7ms | our $RE_DT = do { DateTime::Format::Alami::EN->new; $DateTime::Format::Alami::EN::RE_DT }; # PRECOMPUTE # spent 13.7ms making 1 call to DateTime::Format::Alami::new
95 | 3 | 4µs | 1 | 8µs | our $RE_DUR = do { DateTime::Format::Alami::EN->new; $DateTime::Format::Alami::EN::RE_DUR }; # PRECOMPUTE # spent 8µs making 1 call to DateTime::Format::Alami::new
96 | 3 | 2µs | 1 | 4µs | our $MAPS = do { DateTime::Format::Alami::EN->new; $DateTime::Format::Alami::EN::MAPS }; # PRECOMPUTE # spent 4µs making 1 call to DateTime::Format::Alami::new
97 |  |  |  |  |
98 | 1 | 6µs |  |  | 1;
99 |  |  |  |  | # ABSTRACT: Parse human date/time/duration expression (English)
100 |  |  |  |  |
101 |  |  |  |  | =for Pod::Coverage ^((adur|a|pdur|p|odur|o|w)_.+)$
102 |  |  |  |  |
103 |  |  |  |  | =head1 DESCRIPTION
104 |  |  |  |  |
105 |  |  |  |  | List of known date/time expressions:
106 |  |  |  |  |
107 |  |  |  |  | # p_now
108 |  |  |  |  | (just|right)? now
109 |  |  |  |  |
110 |  |  |  |  | # p_today
111 |  |  |  |  | today|this day
112 |  |  |  |  |
113 |  |  |  |  | # p_tomorrow
114 |  |  |  |  | tommorow
115 |  |  |  |  |
116 |  |  |  |  | # p_yesterday
117 |  |  |  |  | yesterday
118 |  |  |  |  |
119 |  |  |  |  | # p_dur_ago, p_dur_later
120 |  |  |  |  | 1 year 2 months 3 weeks 4 days 5 hours 6 minutes 7 seconds (ago|later)
121 |  |  |  |  |
122 |  |  |  |  | # p_dateymd
123 |  |  |  |  | may 28
124 |  |  |  |  | 5/28
125 |  |  |  |  | 28 may 2016
126 |  |  |  |  | may 28, 2016
127 |  |  |  |  | 5/28/2016
128 |  |  |  |  | 5-28-16
129 |  |  |  |  |
130 |  |  |  |  | # p_which_dow
131 |  |  |  |  | (this|last|next) monday
132 |  |  |  |  |
133 |  |  |  |  | # p_time
134 |  |  |  |  | 2pm
135 |  |  |  |  | 3.45 am
136 |  |  |  |  | (on|at)? 15:00
137 |  |  |  |  |
138 |  |  |  |  | # p_date_time
139 |  |  |  |  | june 25 2pm
140 |  |  |  |  | 2016-06-25 10:00:00
141 |  |  |  |  |
142 |  |  |  |  | List of known duration expressions:
143 |  |  |  |  |
144 |  |  |  |  | # pdur_dur
145 |  |  |  |  | 1 year 2 months 3 weeks 4 days 5 hours 6 minutes 7 seconds
146 |  |  |  |  |
147 |  |  |  |  |
148 |  |  |  |  | =head1 SEE ALSO
149 |  |  |  |  |
150 |  |  |  |  | L<DateTime::Format::Natural>