use Date::Parse; use Date::Calc qw(Delta_Days); use strict; my $base = 'Jan 1, 1980'; my $start = 'Feb 1, 1981'; my $end = 'Feb 5, 1982'; print days_diff($start, $base) . "\n"; # 397 print days_diff($end, $base) . "\n"; # 766 sub days_diff { my $minuend = shift; my $subtrahend = shift; my (undef,undef,undef,$d2,$m2,$y2,undef) = strptime($minuend); my (undef,undef,undef,$d1,$m1,$y1,undef) = strptime($subtrahend); return Delta_Days($y1, $m1+1, $d1, $y2, $m2+1, $d2); } 1; __END__