What about the following approach:
- use Date::Calc for convenient date-calculations, including leap-year-support etc.
- extract year, month, day ... from your dates (e.g. by using a regex)
- increase your date by one in a loop (using Add_Delta_DHMS)
- if the new date is equal to the end-date, end the program
- else transform the new date in your format, print it and continue your loop
HTH, Rata