use POSIX qw(mktime strftime); my $end = mktime(59, 59, 23, 31, 11, 110); for (my $time = time; $time <= $end; $time += 86400) { print strftime "%Y-%m-%d\n", localtime $time; }