use Date::Calc qw(:all); use strict; my @data_date_confirm=(); my @data_date_birth=(); my $diab_confirm = '29/08/2013'; my $date_birth = '21/02/2013'; if($diab_confirm=~/(\d+)\/(\d+)\/(\d+)/) { my $day_confirm = $1; my $month_confirm = $2; my $year_confirm = $3; @data_date_confirm = ($year_confirm, $month_confirm, $day_confirm); } if($date_birth=~/(\d+)\/(\d+)\/(\d+)/) { my $day_birth = $1; my $month_birth = $2; my $year_birth = $3; @data_date_birth = ($year_birth, $month_birth, $day_birth); } my $dd = Delta_Days(@data_date_birth, @data_date_confirm); my $months_until_confirm = sprintf("%.1f", $dd/30); if($months_until_confirm<=6) { print "They are different by more than 6 months!\n"; }