use Win32::OLE qw (in); $Computername = 'servername'; $Win32_Class ='Win32_NTLogEvent'; $Class = "WinMgmts://$Computername"; $Wmi = Win32::OLE->GetObject ($Class); $if ($aevents = $Wmi->ExecQuery("SELECT * FROM $Win32_Class WHERE LogfileName=Application AND Eventcode=1000")) { print "yeah...$aevents\n"; # prints yeah...Win32::OLE=HASH(0x1ab5264) } foreach $aevent (in($aevents)) { # Fails here. print "$aevent{TimeGenerated}\n"; } exit;