Basic Win32::OLE program structure 

use Win32::OLE qw(in with);
use Win32::OLE::Const;
use Win32::OLE::Const 'Microsoft Excel';

# get control of Excel

my $ex;
eval {$ex = Win32::OLE->GetActiveObject('Excel.Application')};
die "Excel not installed" if $@;
unless (defined $ex) {
    $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;})
        or die "Oops, cannot start Excel";
}

# open a file

my $book = $ex->Workbooks->Open(".\\mydir\\myfile.xls");

# (do stuff here)

# cleanup

$book->Close;
undef $book;
undef $ex;