File Coverage

blib/lib/Net/DNS/RR/EUI64.pm
Criterion Covered Total %
statement 26 26 100.0
branch 4 4 100.0
condition n/a
subroutine 9 9 100.0
pod 1 1 100.0
total 40 40 100.0


line stmt bran cond sub pod time code
1             package Net::DNS::RR::EUI64;
2              
3 1     1   8 use strict;
  1         1  
  1         30  
4 1     1   10 use warnings;
  1         2  
  1         46  
5             our $VERSION = (qw$Id: EUI64.pm 1896 2023-01-30 12:59:25Z willem $)[2];
6              
7 1     1   18 use base qw(Net::DNS::RR);
  1         2  
  1         104  
8              
9              
10             =head1 NAME
11              
12             Net::DNS::RR::EUI64 - DNS EUI64 resource record
13              
14             =cut
15              
16 1     1   7 use integer;
  1         2  
  1         8  
17              
18              
19             sub _decode_rdata { ## decode rdata from wire-format octet string
20 1     1   3 my ( $self, $data, $offset ) = @_;
21              
22 1         4 $self->{address} = unpack "\@$offset a8", $$data;
23 1         3 return;
24             }
25              
26              
27             sub _encode_rdata { ## encode rdata as wire-format octet string
28 5     5   9 my $self = shift;
29              
30 5         15 return pack 'a8', $self->{address};
31             }
32              
33              
34             sub _format_rdata { ## format rdata portion of RR string.
35 2     2   6 my $self = shift;
36              
37 2         4 return $self->address;
38             }
39              
40              
41             sub _parse_rdata { ## populate RR from rdata in argument list
42 1     1   2 my ( $self, @argument ) = @_;
43              
44 1         3 $self->address(@argument);
45 1         3 return;
46             }
47              
48              
49             sub address {
50 5     5 1 11 my ( $self, $address ) = @_;
51 5 100       24 $self->{address} = pack 'C8', map { hex($_) } split /[:-]/, $address if $address;
  16         38  
52 5 100       41 return defined(wantarray) ? join '-', unpack( 'H2H2H2H2H2H2H2H2', $self->{address} ) : undef;
53             }
54              
55              
56             1;
57             __END__