Use
Win32::OLE. It's much more flexible than the other modules that I've looked at. It may take you a bit longer to implement whatever you're doing with it, but the next time something new comes up you'll be much better prepared to add functionality without having to scrape and replace your current solution.