This is the source of the information the script is running against showing one node of about 100. Nmap scan report for somenode.somedomain.com (192.x.x.x) Host is up (0.032s latency). Not shown: 974 closed ports PORT STATE SERVICE 53/tcp open domain ... 49160/tcp open unknown MAC Address: 24:34:E4:57:aB:BC (some company) Device type: general purpose Running: Microsoft Windows 7|2008 OS CPE: cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_8 OS details: Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, or Windows 8 Network Distance: 1 hop #### my $file = 'eginv.txt'; { local( $/ ) ; open( my $fh, $file ) or die "Oops file dead\n"; my $TEXT = <$fh>; my $IPADDR=(); my $MACADDR=(); my $RUN=(); my $OSDETL=(); my $HOP=(); my @MACADR=(); my @IPADR=(); (@IPADR,@MACADR) = $TEXT =~ /(192\.168\.1\.[\d]+)...([A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2})/gs; foreach my $ial (@IPADR) { print "$ial\n"; } # foreach my $mal (@MACADR) { # print "$mal\n"; # } }