Domain: myDomain.int
DNS: myDomain.int
Registered: 2013-05-17
Expires: 2023-05-31
Registration period: 1 year
VID: no
DNSSEC: Unsigned delegation, DNSSEC disabled, no records
Status: Active
Registrant
Handle: ***N/A***
Name: myName Corp
Attention: Reggie Person
Address: SomeStreet 17
Postalcode: numericZip
City: myCity
Country: XX
Phone: +12 34 56 78 90
Nameservers
Hostname: ns1.dom.ext
Hostname: ns2.dom.ext
Hostname: ns3.dom.ext
####
#!/bin/perl
use re 'debug';
my $regexp='(?:Nameservers[^\n]*\n.*?)*(?>Hostname:\s+([\S]+)\n)';
my $resp = "
Domain: myDomain.int
DNS: myDomain.int
Registered: 2013-05-17
Expires: 2023-05-31
Registration period: 1 year
VID: no
DNSSEC: Unsigned delegation, DNSSEC disabled, no records
Status: Active
Registrant
Handle: ***N/A***
Name: myName Corp
Attention: Reggie Person
Address: SomeStreet 17
Postalcode: numericZip
City: myCity
Country: XX
Phone: +12 34 56 78 90
Nameservers
Hostname: ns1.dom.ext
Hostname: ns2.dom.ext
Hostname: ns3.dom.ext
";
# my $regexp = shift;
if ( $regexp !~ /^CODE/ ) {
my @caps = $resp =~ /$regexp/sg;
print "\n\n";
print "caps\n",join(',',@caps),"\n";
}else{
print "IS code\n";
exit;
}
####
my $w = new Net::XWhois( Server => 'whois.int');
$w->register_parser (
Name => 'PDEF',
Retain => 0,
Parser => {
name => 'Domain:\s+(\S+)\n',
dnsname => 'DNS\s+(\S+)\n',
nameservers => '(?:Nameservers[^\n]*\n.*?)*(?>Hostname:\s+([\S]+)\n)',
registrant => '(?:[rR]egistrant)[^\n]*\n([\n\s\S]*?)[\n\r\f]{2}',
status => 'Status:\s+(.*?)\n',
remarks => '(DNSSEC:.*?)\n',
reg_date => '[rR]egistered:\s+(.*?)\n',
reg_period => '[rR]egist.*?[pP]eriod:\s+(.*?)\n',
exp_date => '[eE]xpires\s+(.*?)\n',
},
);
$w->register_association (
'whois.int' => [ PDEF, [ qw/int/ ] ]
);
$w->lookup ( Domain => '--show-handles --charset=utf-8 '."myDomain.int" );