Net::Whois::Parser.3pm

Langue: en

Version: 2010-05-25 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Net::Whois::Parser - module for parsing whois information

SYNOPSIS

     use Net::Whois::Parser;
     
     my $info = parse_whois( domain => $domain );
     my $info = parse_whois( raw => $whois_raw_text, domain => $domain  );
     my $info = parse_whois( raw => $whois_raw_text, server => $whois_server  );
     
     $info = {
         nameservers => [
             { domain => 'ns.example.com', ip => '123.123.123.123' },
             { domain => 'ns.example.com' },
         ],
         emails => [ 'admin@example.com' ],
         domain => 'example.com',
         somefield1 => 'value',
         somefield2 => [ 'value', 'value2' ],
         ...
     };
     
     # Your own parsers
     
     sub my_parser {
         my ( $text ) = @_;
         return {
             nameservers => [
                 { domain => 'ns.example.com', ip => '123.123.123.123' },
                 { domain => 'ns.example.com' },
             ],
             emails => [ 'admin@example.com' ],
             somefield => 'value',
             somefield2 => [ 'value', 'value2' ],
         };                    
     }
     
     $Net::Whois::Parser::PARSERS{'whois.example.com'} = \&my_parser;
     $Net::Whois::Parser::PARSERS{'DEFAULT'}           = \&my_default_parser;
 
     # If you want to get all values of fields from all whois answers
     $Net::Whois::Parser::GET_ALL_VALUES = 1;
         # example
         # Net::Whois::Raw returns 2 answers
         $raw = [ { text => 'key: value1' }, { text => 'key: value2'}];
         $data = parse_whois(raw => $raw);
         # If flag is off parser returns
         # { key => 'value2' };
         # If flag is on parser returns
         # { key => [ 'value1', 'value2' ] };
     
     # If you want to convert some field name to another:
     $Net::Whois::Parser::FIELD_NAME_CONV{'Domain name'} = 'domain';
 
     # If you want to format some fields.
     # I think it is very useful for dates.
     $Net::Whois::Parser::HOOKS{'expiration_date'} = [ \&format_date ];
 
 

DESCRIPTION

Net::Whois::Parser module provides Whois data parsing. You can add your own parsers for any whois server.

FUNCTIONS

parse_whois(%args)
Returns hash of whois data. Arguments:

'domain' -
    domain

'raw' -
    raw whois text

'server' -
   whois server

'which_whois' -
    option for Net::Whois::Raw::whois. Default value is QRY_ALL

CHANGES

See file ``Changes'' in the distribution

AUTHOR

Ivan Sokolov, "<ivsokolov@cpan.org>" Copyright 2009 Ivan Sokolov

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.