use Win32; use Win32::EventLog; use Data::Dumper; $handle=Win32::EventLog->new("system"); $handle->GetNumber($recs); $handle->GetOldest($base); $x = 0; while ( $x < $recs ) { $handle->Read(EVENTLOG_FORWARDS_READ|EVENTLOG_SEEK_READ,$base+$x,$HashRef); if ( $HashRef->{Source} eq "EventLog") { Win32::EventLog::GetMessageText($HashRef); print "EventLog Entry $x : $HashRef->{Message}\n"; print Dumper($HashRef); } else { Win32::EventLog::GetMessageText($HashRef); print "Other Entry $x : $HashRef->{Message}\n"; print Dumper($HashRef); } $x++; }