Here’s a quick code sample to loop over the dates in a range with Perl’s Date::Manip. The documentation is voluminous and yet I found it difficult to understand; for people who learn best by example, here goes:
use Date::Manip;
# Y M W DDD MS? 'base' 'start' 'end'
#@dates = ParseRecur("0:0:0:1*1:0:0","12/1/08","12/1/08","1/7/09") ;
@dates = ParseRecur("0:0:0:1*1:0:0","1 month ago", "1 month ago", "today");
foreach my $date ( @dates ) {
#printf qq|%sn|, &UnixDate($date, "%B %d, %Y");
printf qq|%sn|, &UnixDate($date, "%D");
}
The date formats (%B, %d, %D, etc.) are consistent with those documented in the date manpage.