NAME

Net::Whois::ARIN - client interface to the ARIN Whois server


SYNOPSIS

  use Net::Whois::ARIN;
  my $w = Net::Whois::ARIN->new;
  my $result = $w->query( '207.173.112.1' );
  my @results = $w->query( 'NET-207-173-112-0-1' );
  my @output = $w->net( '207.173.112.0' );
  foreach my $r (@output) {
      printf(
          "%s\t(%s)\t%s\n",
          $r->{'OrgName'},
          $r->{'NetHandle'},
          $r->{'NetRange'}
      );
  }
  my %asn = $w->asn( 5650 );
  printf "AS5650 was assigned to %s\n", $asn{'OrgName'};
  printf "The email address for AS5650's technical point of contact is %s\n", $asn{'TechEmail'};
  my %poc = $w->poc('DM2339-ARIN');
  my %org = $w->org('!ELIX');
  my @records = $w->domain('eli.net');
  my %handle = $w->handle('DM2339-ARIN');
  my @customers = $w->customer('ELIX');


DESCRIPTION

This module provides a Perl interface to the ARIN Whois server. The module takes care of connecting to a whois server, sending your whois requests, and parsing the whois output. The whois records are returned as a hash. In cases where more that one record is found a list of hashes are returned instead.


METHODS

In the calling conventions below []'s represent optional parameters.

new - create a Net::Whois::ARIN object
  my $o = Net::Whois::ARIN->new(
    [-hostname=> 'whois.arin.net',]
    [-port    => 43,]
    [-timeout => 45,]
  );

This is the constuctor for Net::Whois::ARIN. The object returned can be used to query the whois database.

net - request a network record
  my @records = $o->net('207.173.112.0');

This method requires a single argument. The argument indicates the network to use in the whois lookup. The method returns a list of network records that matched your search criteria.

asn - request an ASN record
  my %record = $o->asn(5650);

This method requires a single argument. The argument indicates the autonomous system number to us in the whois lookup. The method returns a point-of-contact record as a hash. If the search criteria matches more than one record a list of hashes are returned instead. Searching ASN records by ASN always returns a single record. Just don't expect $o->asn('Network') to return a single record.

poc - request a POC record
  my %record = $w->poc('DM2339-ARIN');
org - request an organization record
  my %record = $w->org('!ELIX');
customer - request a customer record
  my @records = $w->customer('ELIX');
domain - request all records from a given domain
  @output = $w->domain('eli.net');
handle - request a specific record using a whois handle
  %record = $w->handle('DM2339-ARIN');

By querying the database using a handle you are guarenteed to get one record back since handles are always unique in the ARIN whois database. This is analogous to prepending your query with an ``!'' character.


AUTHOR

Todd Caine <todd at pobox.com>


COPYRIGHT AND LICENSE

Copyright (c) 2002, 2003 Todd Caine. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.