1#!/usr/bin/perl 2# 3# 4# A Net::DRI example for IRIS DCHK operations, currently only .DE 5 6use strict; 7use warnings; 8 9use Net::DRI; 10 11my ($dri,$rc); 12 13eval { 14$dri=Net::DRI->new(10); 15$dri->add_registry('DENIC',{}); 16$rc=$dri->target('DENIC')->add_current_profile('profile1','dchk'); 17die($rc) unless $rc->is_success(); 18display($dri,'denic.de'); 19display($dri,'ecb.de'); 20display($dri,'netdri-test-doesnotexist.de'); 21display($dri,'1.5.3.2.7.2.9.6.9.4.e164.arpa'); ## example with ENUM domain names 22 23$dri->end(); 24}; 25 26if ($@) 27{ 28 print "\n\nAn EXCEPTION happened !\n"; 29 if (ref($@)) 30 { 31 $@->print(); 32 } else 33 { 34 print($@); 35 } 36} else 37{ 38 print "\n\nNo exception happened"; 39} 40 41print "\n"; 42exit 0; 43 44sub display 45{ 46 my ($dri,$dom)=@_; 47 print 'DOMAIN: '.$dom."\n"; 48 my $rc=$dri->domain_info($dom); 49 print 'IS_SUCCESS: '.$rc->is_success().' [CODE: '.$rc->code().' / '.$rc->native_code()."]\n"; 50 unless ($rc->is_success()) 51 { 52 print $rc->message(),"\n"; 53 return; 54 } 55 my $e=$dri->get_info('exist'); 56 print 'EXIST: '.$e."\n"; 57 if ($e eq '1') 58 { 59 foreach my $k (qw/crDate exDate duDate idDate/) 60 { 61 print $k.': '.($dri->get_info($k) || 'n/a')."\n"; 62 } 63 print 'status: '.join(' ',$dri->get_info('status')->list_status())."\n" if defined($dri->get_info('status')); 64 } 65 my $rs=$dri->get_info('result_status'); 66 print 'RESULT STATUS: '; 67 $rs->print_full() if defined($rs); 68 print "\n\n"; 69} 70