in reply to How to use Threads

Out of curiosity? Do any files get successfully converted? Maybe even just one? My testing shows that the error pops up at the end, as things are being cleaned up.

Check out the following thread: free to wrong pool while global destruction : windows perl environment

It looks like Win32::OLE isn't thread-safe, so you have to write your threads accordingly with that knowledge. However, one drawback you will find is that you may not be able to run more than one of these conversions at the same time... since that would likely make worse the non-thread-safe nature of Win32::OLE.

Good luck!