in reply to Looping months and days

It seems to me the easiet way to deal with this is to use a Julian days scheme. Use the search utility --> 'Julian days' The results point to many different CPAN modules for conversion back and forth.

You would simply add and subtract 31 from today's Julian day and convert to normal dates to get your range. It's unclear what you want to do with the range, so that's all I'll say.