Time::Keeper::Natural: What time is 'next Tuesday at 3 pm'?
People do not say 2026-10-20T15:00:00+01:00. They say "next Tuesday at 3 pm", and now Perl can hear them, in 1,121 locales.
Perl · XS · CPAN
I write Perl modules, most of them in C through XS
Everything here is on CPAN under LNATION.
From MetaCPAN,
Turn-based games of skill and chance against a person or the bot, at your pace. Free to play: no stakes, no prizes, nothing to buy.
All 359 on CPAN
1–12 of 360
An MVC web framework in XS that compiles the whole application at boot.
on CPANThe event-loop PSGI server under it: HTTP/1.1, HTTP/2 and TLS in C.
on CPANA template engine that compiles once and then stops thinking.
on CPANMarkdown to HTML in C, GitHub flavoured, with highlighting.
on CPANPDF generation, parsing and editing.
on CPANObjects with prototype chains, in XS.
on CPANPersistent maps, sets and vectors on a hash array mapped trie.
on CPANVariables that follow the work, scoped to a context.
on CPANDates and times with time zones, leap seconds, locales and every CLDR calendar.
on CPANFile operations through direct system calls.
on CPANOne `game` command for twenty terminal games.
A Perl SDK for building agents on Claude.
People do not say 2026-10-20T15:00:00+01:00. They say "next Tuesday at 3 pm", and now Perl can hear them, in 1,121 locales.
Time goes by at one second at a time, and that is the last simple thing about it. A second is a count...
Context::Vars is another new CPAN distribution I've published which solves a familiar problem in Perl...