use warnings; use strict; use DateTime; use DateTime::Format::Strptime; my $date_birth = '21/02/2013'; my $diab_confirm = '29/08/2013'; my $strp = DateTime::Format::Strptime->new(on_error=>'croak', pattern => '%d/%m/%Y'); my $dt_birth = $strp->parse_datetime($date_birth); my $dt_confirm = $strp->parse_datetime($diab_confirm); print " birth: ", $dt_birth->ymd, "\n"; print " confirm: ", $dt_confirm->ymd, "\n"; my $dt_deadline = $dt_birth->clone->add(months=>6); print "deadline: ", $dt_deadline->ymd, "\n"; if ($dt_confirm > $dt_deadline) { print $dt_confirm->ymd, " > ", $dt_deadline->ymd, "\n"; } else { print $dt_confirm->ymd, " <= ", $dt_deadline->ymd, "\n"; } __END__ birth: 2013-02-21 confirm: 2013-08-29 deadline: 2013-08-21 2013-08-29 > 2013-08-21