use Date::Manip; my $err; for ( my $mydate = '2005-07-12', my $theirdate = ParseDate($mydate); $mydate le '2005-08-03'; $theirdate = DateCalc( $theirdate, '+ 1days', \$err ) or die $err ) { $mydate = &UnixDate( $theirdate,"%y%-%m%-%d"); # now $mydate is ready for use in this loop }