use strict; use warnings; my $file = 'd:\PROGRA~1\Syslogd\Logs\syslog22Dec2003.txt'; open (FILE, $file) or die "Can't open $file: $!\n"; my (@lines); while (){ push (@lines, $_) if /(\%FW\-\d-\d+)/; next unless $1 !~ /$1/; #my stupid logic }