As far as I rememeber (I am home here, and not on a Windows box) Win32::OLE doesn't handle OLE events (or handles them poorly), only properties and methods. Your best bet is to check out the Win32::OLE mailing list archives on Activestate's website. Someone may have a work-around there.
Comment on Re: How do I handle an OLE object events?
I read a suggestion from news: for Excel the third argument of WithEvent() is 'ApplicationEvents'. This not work for InternetExplorer.
But i am style wanted for equivalent.
I hop this help.