#!/usr/local/bin/perl -d use strict; use warnings; use Time::Local; use Time::HiRes qw( tv_interval ); my $date1 = "2006/01/03 03:59:59:671"; my $date2 = "2006/01/03 04:00:00:562"; my $t1 = convert_time( $date1 ); my $t2 = convert_time( $date2 ); my $elapsed = tv_interval( $t1, $t2 ); print $elapsed, "\n"; sub convert_time { my $date = shift; my( $yr, $mo, $dy ) = split( /\//, substr( $date, 0, 10 ) ); my( $hr, $mn, $sc, $mi ) = split( /:/, substr( $date, 11 ) ); my $epoch = timelocal( $sc, $mn, $hr, $dy, $mo-1, $yr-1900 ); [ $epoch, $mi*1000 ]; }