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