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