#! /usr/bin/perl

# (c) 2008 Laurent FACQ - facq@u-bordeaux.fr

# simple filter to resolv ipv4 addresses

# Usage :
#	 cat /etc/hosts | ip2name
#	 ip2name /etc/hosts

sub ip2name
{
    my ($add,$name,$aliases,$addrtype,$length,@addrs);
    $add = pack('C4',split('\.',$_[0]));
    ($name,$aliases,$addrtype,$length,@addrs)= gethostbyaddr($add,2);

    if (!$name)
    {
        $name= $_[0];
    }
    return $name;
}

while ($l=<>)
{
    $l =~ s/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})/ip2name($1)/eg;
    print $l;
}


## todo : should have a better regex to dont match 555.555.555.555 for exemple !
