use strict; use warnings; my $ip = ""; while (<>) { if (/Relay.access.denied/) { my $rec; do { $rec = <>; print "$2\n" if $rec =~ /(\d+)\s+(\S+)/; $ip = $2; } until ($rec !~ /(\d+)\s+(\S+)/); } }