#!/usr/bin/perl use warnings; use strict; use DateTime; sub getDatetime { my $str = shift; my @a = split(/\./, $str); my $dt = DateTime->new( year => $a[2], month => $a[1], day => $a[0], time_zone => 'Europe/Berlin'); return $dt; } my $start = getDatetime("1.7.2017"); my $end = getDatetime("4.7.2017"); my $step = DateTime::Duration->new(days => 1); my @ergebnisliste = (); while ($start->epoch() <= $end->epoch()) { push(@ergebnisliste, $start->day() . "." . $start->month() . "." . $start->year()); $start->add($step); } for my $i (@ergebnisliste) { print "$i\n"; }