Hay varios módulos para realizar operaciones con fechas, pero el más moderno y recomendable es la familia de módulos de
DateTime (
CPAN)
En concreto, haciendo uso de solo un módulo más que interprete el formato de las fechas, se puede hacer en pocas líneas:
Using perl Syntax Highlighting
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
use DateTime::Format::Strptime;
my $Strp = DateTime::Format::Strptime->new(pattern=>'%Y-%m-%d %H:%M:%S');
my $fecha1 = '2009-10-23 12:02:00';
my $fecha2 = '2009-11-23 12:05:30';
my $dt_fecha1 = $Strp->parse_datetime( $fecha1 );
my $dt_fecha2 = $Strp->parse_datetime( $fecha2 );
my $dt_duracion = $dt_fecha1->delta_ms( $dt_fecha2 );
print $dt_duracion->hours * 60
+ $dt_duracion->minutes
+ $dt_duracion->seconds / 60
, " minutos\n"
; # 44643.5 minutos
__END__
Coloreado en 0.002 segundos, usando
GeSHi 1.0.8.4