The Win32::OLE module is not safe for use in threaded Perl. You _may_ be able to get by if you only use Win32::OLE inside a single thread *if* you load Win32::OLE inside that thread. But loading Win32::OLE and then creating additional Perl interpreter threads is going to blow up.