NAME
Time::Keeper::Natural::Match - what a text named, and what was filled in
VERSION
Version 0.02
SYNOPSIS
my $m = Time::Keeper::Natural->new(zone => 'Europe/London')->match('next Tuesday at 3 pm');
$m->value; # 2026-10-20T15:00:00+01:00
$m->kind; # point
$m->precision; # hour
$m->assumed; # ('zone')
DESCRIPTION
A natural phrase leaves things out: "15 October" has no year, "next month" names a period and not an instant, "Tuesday" has no direction. A Match holds the value read and a list of what was assumed to make it one. It is made by "match" in Time::Keeper::Natural and its three siblings and never by hand, and it cannot be changed.
METHODS
value
The Time::Keeper value, Time::Keeper::Date or Time::Keeper::Duration read; for an interval, its start.
kind
point (from match), date (match_date), duration (match_duration) or interval (match_interval).
to
An interval's end; undef for the other kinds. (end is where the text ends.)
precision
The smallest field the text named: year, quarter, month, week, day, hour, minute, second, or a fraction of one; none for a duration. "next month" is month, "next Tuesday at 3 pm" hour, "15:30" minute, "now" second. An interval's is its start's.
assumed
What was filled in, as a list of fixed strings, empty when the text left nothing out:
year a date with no year took the anchor's (or prefer's)
month a day with no month ("the 15th") took the anchor's (or prefer's)
century a two-digit year took the nearest century
date a time with no date is on the anchor's day
time a day named without a time is its first moment
period start a period longer than a day is its first moment
weekday next a bare weekday is the coming one
weekday last ... or, under prefer => 'past', the last one
direction a phrase with two meanings took prefer's side
bare_hour am a bare hour in a twelve-hour locale, by the option
bare_hour pm
bare_hour next
zone the text named no zone; the parser's was used
assumptions
Time::Keeper::Natural::Match->assumptions;
That list, the whole of it, in that order. A Match never carries another.
text
The text as given.
start
end
Where in the text what was read begins and ends, in characters: the text without its outer whitespace, since a text is read whole or not at all.
locale
The locale whose words were read.
anchor
The anchor the text was read against.
SEE ALSO
AUTHOR
LNATION <email@lnation.org>
LICENSE AND COPYRIGHT
This software is Copyright (c) 2026 by LNATION.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)