Provided by: libnet-dri-perl_0.96-1_all bug

NAME

       Net::DRI::Data::Hosts - Handle ordered list of nameservers (name, IPv4 addresses, IPv6
       addresses) for Net::DRI

SYNOPSIS

        use Net::DRI::Data::Hosts;

        my $dh=Net::DRI::Data::Hosts->new();
        $dh->add('ns.example.foo',['1.2.3.4','1.2.3.5']);
        $dh->add('ns2.example.foo',['10.1.1.1']); ## Third element can be an array ref of IPv6 addresses
        ## ->add() returns the object itself, and thus can be chained

        ## Number of nameservers
        print $dh->count(); ## Gives 2

        ## List of names, either all without arguments, or the amount given by the argument
        my @a=$dh->get_names(2); ## Gives ('ns.example.foo','ns2.example.foo')

        ## Details for the nth nameserver (the list starts at 1 !)
        my @d=$dh->get_details(2); ## Gives ('ns2.example.foo',['10.1.1.1'])

        ## Details by name is possible also
        my @d=$dh->get_details('ns2.example.foo');

DESCRIPTION

       Order of nameservers is preserved. Order of IP addresses is preserved, but no duplicate IP
       is allowed.

       If you try to add a nameserver that is already in the list, the IP addresses provided will
       be added to the existing IP addresses (without duplicates)

       Hostnames are verified before being used with Net::DRI::Util::is_hostname().

       IP addresses are verified with Net::DRI::Util::is_ipv4() and Net::DRI::Util::is_ipv6().

METHODS

   new(...)
       creates a new instance ; if parameters are given, add() is called with them all at once

   new_set(...)
       creates a new instance ; if parameters are given, add() is called once for each parameter

   clear()
       clears the current list of nameservers

   set(...)
       clears the current list of nameservers, and call add() once for each parameter passed

   add(name,[ipv4],[ipv6])
       adds a new nameserver with the given name and lists of IPv4 and IPv6 addresses

   name()
       name of this object (for example for registries having the notion of host groups) ; this
       has nothing to do with the name(s) of the nameservers inside this object

   loid()
       local id of this object

   get_names(limit)
       returns a list of nameservers' names included in this object ; if limit is provided we
       return only the number of names asked

   count()
       returns the number of nameservers currently stored in this object

   is_empty()
       returns 0 if this object has nameservers, 1 otherwise

   get_details(pos_or_name)
       given an integer (position in the list, we start to count at 1) or a name, we return all
       details as a 3 element array in list context or only the first element (the name) in
       scalar context for the nameserver stored at the given position or with the given name ;
       returns undef if nothing found at the position/with the name given.

SUPPORT

       For now, support questions should be sent to:

       <netdri@dotandco.com>

       Please also see the SUPPORT file in the distribution.

SEE ALSO

       http://www.dotandco.com/services/software/Net-DRI/

AUTHOR

       Patrick Mevzek, <netdri@dotandco.com>

COPYRIGHT

       Copyright (c) 2005,2006,2007,2008,2009 Patrick Mevzek <netdri@dotandco.com>.  All rights
       reserved.

       This program is free software; you can redistribute it and/or modify it under the terms of
       the GNU General Public License as published by the Free Software Foundation; either
       version 2 of the License, or (at your option) any later version.

       See the LICENSE file that comes with this distribution for more details.