in reply to Problem using Win32::OLE

Try this program
D:\>perl -e"print $!" Bad file descriptor
$! is only useful after calling something that sets it.