http://www.perlmonks.org?node_id=889705

punkish has asked for the wisdom of the Perl Monks concerning the following question:

Its been a long day here in Wisconsin, so pardon me if the following be too basic a question --

The user provides a date, or start/end dates, or month/year or year (all of which could be resolved into start/end dates).

The program returns --

Option 1: an array of integers representing the ordinal day since Jan 1, 1980. For example, if the user enters "Feb 1, 1981" to "Feb 5, 1982", the array returned is (397 .. 766) as Feb 1, 1981 is the 397th day since Jan 1, 1980 (index starting at 0), and so on.

Potential solution: Use something like Time::JulianDay to convert start and end dates into integers, and just subtract "epoch" start day from each. Critique, por favor.

Option 2: a hash in which the keys are the years, and the values are the days for the period prescribed by the start/end dates in the input. So, something like so ( "1981" => [31 .. 365], "1982" => [0 .. 35] );. Suggestions, por favor.

--

when small people start casting long shadows, it is time to go to bed