perl -MSocket -lne "print inet_ntoa((gethostbyname$_)[4])" local_machines_names_or_URI.txt # your's modified #!/usr/bin/perl use warnings; use strict; use Socket; my $file = 'ips.txt'; open (my $fh, "<", $file) or die $!; ##my @file = <$fh>; while (<$fh>) { my $uri = $_; $uri =~ s/\s+//g; my ($name, $aliases, $addrtype, $length, @addrs) = gethostbyname $uri; my ($w,$x,$y,$z) = unpack('C4',$addrs[0]); print "$w.$x.$y.$z\n"; }