Date::PeriodParser - Turns English descriptions into time periods

      use Date::PeriodParser;
      my ($midnight, $midday) = parse_period("this morning");
      my ($monday_am, $sunday_pm) = parse_period("this week");
      ... parse_period("sometime last September");
      ... parse_period("around two weeks ago");

    The subroutine "parse_period" attempts to turn the English description
    of a time period into a pair of Unix epoch times. As a famous man once
    said, "Of course, this is a heuristic, which is a fancy way of saying
    that it doesn't work". I'm happy with it, though. (or at least, I will
    be; this is currently very much a work in progress, and only knows about
    recent dates.)

    If you enter something it can't parse, it'll return an error code and an
    explanation instead of two epoch time values. Error code -1 means "You
    entered gibberish", error code -2 means "you entered something
    ambiguous", and the explanation will tell you how to disambiguate it.

    Simon Cozens, ""