As hinted by stenci - instead of using Win32::OLE->GetActiveObject, using Win32::OLE->new works as defined below.
unless (defined $Excel1_Parse4G) {
$Excel1_Parse4G = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;})
or die "Oops, cannot start Excel";
}
my $Book1 = $Excel1_Parse4G->Workbooks->Open("C:\\path\file1.xls");
unless (defined $Excel2_Parse4G) {
$Excel2_Parse4G = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;})
or die "Oops, cannot start Excel";
}
my $Book2 = $Excel2_Parse4G->Workbooks->Open("C:\\path\file2.xls");