The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::DAS - A simple DAS (Domain Availabilty Seach) client.

SYNOPSIS

  # new object
  my $das = Net::DAS->new();
  # you can change query timeout, set to use registrar DAS servers (where available), select only specific modules, and override the requst function (normally for testing)
  my $das = Net::DAS->new({timeout=>2,use_registrar=>1,modules=>['eu','be'],_request=>\&my_request});
  
  # lookup() always works in batch mode, so if you are only looking up a single domain you can access that domains result directly
  my $res  =$das->lookup('test.eu')->{'test.eu'};
  if ($res->{'avail'}) {
          # do something
  } else {
     print $res->{'reason'};
  }

  # or with multiple domains
  my $res  =$das->lookup('test.eu','test2.eu','test3.eu');
  print $res->{'test2.eu'}->{'reason'};
  

DESCRIPTION

Net::DAS is a client that aims to simplify using DAS with multiple registries by having small submodules (see Net::DAS::*) to iron out the differences in the servers. It also inclused a shell script Net::DAS::das to do lookups from the command line.

PUBLIC METHODS

new

Accepts a hash reference with available options being timeout (integer default 4), use_registrar (bool default 0), modules (array_ref default all), _request (sub - only used for overriding request method for testing)

  my $das = Net::DAS->new();
  my $das = Net::DAS->new({timeout=>2,use_registrar=>1,modules=>['eu','be'],_request=>\&my_request});

lookup

Lookup domain availability in batch mode. You can specify 1 or more domains, but always works in batch mode, so if you are only looking up a single domain you can access that domains result directly by using the domain name as a reference. When looking up multiple domains, just send an array and the return will be a hashref with the domain names as the keys

  my $res  =$das->lookup('test.eu')->{'test.eu'};
  if ($res->{'avail'}) {
          # do something
  } else {
     print $res->{'reason'};
  }

  # or with multiple domains
  my $res  =$das->lookup('test.eu','test2.eu','test3.eu');
  my $res  =$das->lookup(@domains);
  print $res->{'test2.eu'}->{'reason'};

available

A quick function to lookup availability of a single domain without details. Warning, you should check if the result == 1, as there are different return codes.

  print "available" if $das->availabile('test.eu')==1;

PRIVATE METHODS

_split_domain : splits a domain into an array ($dom,$tld)
_send_request : should not be called directly, its called by lookup()
_parse : should not be called directly, its called by lookup(). This sub is normally overriden by the registry module's parser
_close_ports : closes any open sockets; you should'nt need to call this.
DESTROY: ensures that any open sockets are closed cleanly before closing; you dont need to call this.

AUTHOR

Michael Holloway <michael@thedarkwinter.com>

LICENSE

Artistic License

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 163:

'=item' outside of any '=over'

Around line 255:

You forgot a '=back' before '=head1'