use Modern::Perl; use Date::Calc qw/Delta_YMDHMS/; # From the documentation: # Delta_YMDHMS # ($D_y,$D_m,$D_d, $Dh,$Dm,$Ds) = # Delta_YMDHMS($year1,$month1,$day1, $hour1,$min1,$sec1, # $year2,$month2,$day2, $hour2,$min2,$sec2); # my $start = '2012-08-08 17:14:22'; my $end = '2012-08-10 17:14:22'; my @start = $start =~ /(\d+)/g; my @end = $end =~ /(\d+)/g; my ( $D_y, $D_m, $D_d, $Dh, $Dm, $Ds ) = Delta_YMDHMS( @start, @end ); say "The difference between $start and $end is:\nYears: $D_y, Months: $D_m, Days: $D_d, Hours: $Dh, Minutes: $Dm, Seconds: $Ds"; #### The difference between 2012-08-08 17:14:22 and 2012-08-10 17:14:22 is: Years: 0, Months: 0, Days: 2, Hours: 0, Minutes: 0, Seconds: 0