sub syb_gethostbyaddr
{
my $self = shift;
my $class = ref($self);
my ($my_ipaddr) = @_;
return (gethostbyaddr(inet_aton($my_ipaddr), AF_INET))
}
####
sub numtoname {
local ($_) = @_;
unless (defined $numtoname{$_}) {
my (@a) = gethostbyaddr(pack('C4', split(/\./)),2);
$numtoname{$_} = @a > 0 ? $a[0] : $_;
}
return $numtoname{$_};
}
####
package SybaseInterfaces;
....
my %lookup_iptoname = ();
sub syb_gethostbyaddr
{
my $self = shift;
my $class = ref($self);
my ($my_ipaddr) = @_;
# We cache the name lookups to increase performance and reduce network i/o
unless (defined $SybaseInterfaces::lookup_iptoname{$my_ipaddr})
{
$SybaseInterfaces::lookup_iptoname{$my_ipaddr} = gethostbyaddr(inet_aton($my_ipaddr), AF_INET);
}
return ( $SybaseInterfaces::lookup_iptoname{$my_ipaddr} );
}