sub OLEErrChk { my $operation=shift; my $critical=shift; my $errnum=Win32::OLE->LastError; if(!$errnum) { if ($errnum=~/0x80070094/) { print "$operation Failed (in use) trying something..\n"; &Something; } else { print "$operation Failed: $errnum\n"; die if ($critical); } } else {print "$operation was Successful.\n"} }