in reply to d-mmm-yyyy to DOY (day of year)
A good starting point could be to use the module Date::Calc. A bit heavy, maybe, but it includes everything and the kitchen sink, including parsing dates, and the function Day_of_Year.
$doy = Day_of_Year($year,$month,$day);
If parsing dates doesn't work out so well without an explicit format, you can fall back on POSIX::strptime.
In Section Seekers of Perl Wisdom