1: sub numtoname {
2: local ($_) = @_;
3: unless (defined $numtoname{$_}) {
4: my (@a) = gethostbyaddr(pack('C4', split(/\./)),2);
5: $numtoname{$_} = @a > 0 ? $a[0] : $_;
6: }
7: return $numtoname{$_};
8: }
####
foreach (1 .. 3) {
foo($_ + 1);
print "$_\n";
}
sub foo {
$_ = shift;
$_ += 7;
}
####
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};
}