#!/usr/bin/perl -w use strict; use Socket; my $logfile = 'hosts.txt'; open HOST, ">> $logfile" or die "Can't open $logfile: $!\n"; # The following snippet will unbuffer your filehandle # so that data is written out immediately. { my $ofh = select HOST; $| = 1; select $ofh; } for my $i ( 0 .. 255 ) { for my $j ( 0 .. 255 ) { for my $k ( 0 .. 255 ) { for my $l ( 0 .. 255 ) { my $address = "$i.$j.$k.$l"; my $iaddr = inet_aton( $address ); my $name = gethostbyaddr($iaddr, AF_INET) || ''; chomp $name if $name; print "$address\t$name\n"; print HOST "$address\t$name\n" or die "Can't print to $logfile: $!"; } } } } close HOST or die "Can't close $logfile: $!";