use warnings; use strict; my $file =<) { if (my ($name) = $line =~ /^object-group network (\w+)/) { $hostname = $name; # "last seen hostname" } my ($ip) = $line =~ /(\d+\.\d+\.\d+\.\d+)/; if (defined ($ip)) { print "ip $ip goes with host name $hostname\n"; } } #### ip 10.1.1.1 goes with host name HOSTNAME ip 10.1.1.2 goes with host name HOSTNAME ip 10.3.1.1 goes with host name HOSTNAME ip 10.3.1.2 goes with host name HOSTNAME