$Bentley = Win32::OLE->new("MicroStationDGN.Application", 'Quit') || die "Could not start MicroStation DGN Application: ", Win32::OLE->LastError(); Win32::OLE->WithEvents($Bentley, \&Event, "UserWorkspaceName"); Win32::OLE->WithEvents($Bentley, \&Event); $Bentley->{visible} = 1; Win32::OLE->MessageLoop();