sub numtoname { my $address = shift; unless (defined $numtoname{$address}) { my (@a) = gethostbyaddr(pack('C4', split(/\./, $address)),2); $numtoname{$address} = @a > 0 ? $a[0] : $address; } return $numtoname{$address}; }