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
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 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.