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


Net::Whois::IP - Perl extension for looking up the whois information for ip addresses


  use Net::Whois::IP qw(whoisip_query);

  my $ip = "";
#Response will be a reference to a hash containing all information
#provided by the whois registrar
#The array_of_responses is a reference to an array containing references
#to hashes containing each level of query done.  For example,
#many records have to be searched several times to
#get to the correct information, this array contains the responses
#from each level
  my ($response,$array_of_responses) = whoisip_query($ip,$optional_multiple_flag,$optional_raw_flag,$option_array_of_search_options);
#if $optional_multiple_flag is not null, all possible responses for a give record will be returned
#for example, normally only the last instance of Tech phone will be give if record
#contains more than one, however, setting this flag to a not null will return both is an array.
#The other consequence, is that all records returned become references to an array and must be 
#dereferenced to utilize
#if $optional_raw_flag is not null, response will be a reference to an array containing the raw
#response from the registrar instead of a reference to a hash.
#If $option_array_of_search_options is not null, the first two entries will be used to replace
#TechPhone and OrgTechPhone is the search method.  This is fairly dangerous, and can
#cause the module not to work at all if set incorrectly

#Normal unwrap of $response ($optional_multiple_flag not set) my $response = whoisip_query($ip); foreach (sort keys(%{$response}) ) { print "$_ $response->{$_} \n"; }

#$optional_multiple_flag set to a value my $response = whoisip_query( $ip,"true"); foreach ( sort keys %$response ){ print "$_ is\n"; foreach ( @{ $response->{ $_ } } ) { print " $_\n"; } }

#$optional_raw_flag set to a value my $response = whoisip_query( $ip,"","true"); foreach (@{$response}) { print $_; }

#$optonal_array_of_search_options set but not $optional_multiple_flag or $optional_raw_flag my $search_options = ["NetName","OrgName"]; my $response = whois_query($ip,"","",$search_options); foreach (sort keys(%{$response}) ) { print "$_ $response->{$_} \n"; }


Perl module to allow whois lookup of ip addresses. This module should recursively query the various whois providers until it gets the more detailed information including either TechPhone or OrgTechPhone by default; however, this is overrideable.


Ben Schmitz --

Thanks to Orbitz for allowing the community access to this work

Please email me any suggestions, complaints, etc.


perl(1). Net::Whois