in reply to Re^3: use Date::Calc qw(Delta_Days)
in thread use Date::Calc qw(Delta_Days)

use Date::Calc qw( Delta_Days );

...

my $enddate = MetaLink::getField('END_DATE'); # $enddate equals '03/22/2006' (a string)

my $startdate = MetaLink::getField('START_DATE'); # $enddate equals '03/22/2002' (also a string)

...

my ($sdd, $smm, $syyyy) = ($startdate =~ /(\d+)\/(\d+)\/(\d+)/);

my ($edd, $emm, $eyyyy) = ($enddate =~ /(\d+)\/(\d+)\/(\d+)/);

my $days = Delta_Days($syyyy, $smm, $sdd, $eyyyy, $emm, $edd);

When the last line is stepped through, the program jumps to:

package Win32::OLE::Tie;

# Only retry default method under C<no strict 'subs';>

sub FETCH {

    my ($self,$key) = @_;

    if ($key eq "_NewEnum") {

        (my $class = ref $self) =~ s/::Tie$//;

        return [Win32::OLE::Enum->All($self)] if <p><code>        ${"${class}::_NewEnum"};

}

    $self->Fetch($key, !$Win32::OLE::Strict);

}

The if ($key eq "_NewEnum") is false and the programm terminates (abruptly) on the line $self->Fetch($key, !$Win32::OLE::Strict);