#!/usr/bin/perl -w use strict; use Win32::OLE qw|EVENTS|; my $excel = Win32::OLE->CreateObject("Excel.Application",'Quit'); Win32::OLE->WithEvents($excel,\&Event); $excel->{Visible} = 1; #...etc... Win32::OLE->MessageLoop(); sub Event { my ($obj, $event,@params) = @_; print "Event triggered: '$event'\n"; } 1;