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

NAME

Net::Whois::ARIN - ARIN whois client

SYNOPSIS

  use Net::Whois::ARIN;

  my $w = Net::Whois::ARIN->new(
              host    => 'whois.arin.net',
              port    => 43,
              timeout => 30,
          );

  #  fetch raw whois output as a scalar
  my $result = $w->query( '207.173.0.0' );

  #  fetch raw whois output as a list
  my @results = $w->query( 'NET-207-173-0-0-1' );

  #  search for a network record
  my @output = $w->network( '207.173.0.0' );
  foreach my $net (@output) {
      printf(
          "%s\t(%s)\t%s\n",
          $net->OrgName,
          $net->NetHandle,
          $net->NetRange,
      );

      # display the network's contact information
      foreach my $cust ($net->contacts) {
          printf "Contact: %s (%s)\n", $cust->Name, $cust->Email;
      }
  }

  # lookup an autonomous system number
  my($asn) = $w->asn( 5650 );
  printf "AS5650 was assigned to %s\n", $asn->OrgName;

  # search for a point-of-contact by handle
  my @contact = $w->contact('DM2339-ARIN');

  my @contact_records = $w->domain('eli.net');

  # search for an organization record by the OrgId
  my @org = $w->organization('FRTR');

  # search for a customer record by Handle
  my @customers = $w->customer('C00823787');

DESCRIPTION

This module provides a Perl interface to the ARIN Whois server. The module takes care of connecting to an ARIN whois server, sending your whois requests, and parsing the whois output. The whois records are returned as lists of Net::Whois::ARIN::* instances.

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,]
    [-retries => 3,]
  );

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

query - make a raw query to the whois server
  my @output = $o->query('207.173.112.0');
network - request a network record
  my @records = $o->network('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 Net::Whois::ARIN::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 use in the whois lookup. The method returns a list of Net::Whois::ARIN::AS objects.

organization - request an organization record
  my @record = $w->org('ELIX');
customer - request a customer record
  my @records = $w->customer('ELIX');
contact - request a point-of-contact record
  my @record = $w->contact('DM2339-ARIN');
domain - request all records from a given domain
  @output = $w->domain('eli.net');

SEE ALSO

Net::Whois::ARIN::AS

Net::Whois::ARIN::Network

Net::Whois::ARIN::Contact

Net::Whois::ARIN::Organization

Net::Whois::ARIN::Customer

AUTHOR

Todd Caine <todd.caine at gmail.com>

COPYRIGHT AND LICENSE

Copyright (c) 2004-2011 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.