use Win32; use Win32::EventLog; $handle=Win32::EventLog->new("system"); $handle->GetNumber($recs); $handle->GetOldest($base); $x = 0; while ( $x < $recs ){ %Hash=(); $handle->Read(EVENTLOG_FORWARDS_READ|EVENTLOG_SEEK_READ,$base+$x,\%Hash); my $message=Win32::EventLog::GetMessageText(\%Hash); foreach my $key (sort(keys(%Hash))){ print "\t$key=$Hash{$key}\n"; } print "$message\n"; $x++; }