use Win32::EventLog; $Win32::EventLog::GetMessageText = 1; my $eventlog = Win32::EventLog->new('System', $ENV{ComputerName}) or die "Can't open System EventLog\n"; my %event; while ($eventlog->Read(EVENTLOG_BACKWARDS_READ| EVENTLOG_SEQUENTIAL_READ, 0, \%event)) { if ( $event{EventType} == EVENTLOG_INFORMATION_TYPE && $event{Source} eq 'Tcpip' ) { print $event{RecordNumber}, ' ', scalar localtime($event{TimeGenerated}), ' ', $event{Message}, "\n"; last; # this example only shows the last } }