File Coverage

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


line stmt bran path cond sub pod time code
1               package Net::DNS::RR::EUI64;
2                
3 1       1   5 use strict;
  1           1  
  1           30  
4 1       1   3 use warnings;
  1           1  
  1           66  
5               our $VERSION = (qw$Id: EUI64.pm 2003 2025-01-21 12:06:06Z willem $)[2];
6                
7 1       1   4 use base qw(Net::DNS::RR);
  1           1  
  1           86  
8                
9                
10               =head1 NAME
11                
12               Net::DNS::RR::EUI64 - DNS EUI64 resource record
13                
14               =cut
15                
16 1       1   4 use integer;
  1           2  
  1           6  
17                
18                
19               sub _decode_rdata { ## decode rdata from wire-format octet string
20 1       1   1 my ( $self, $data, $offset ) = @_;
21                
22 1           56 $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   5 my $self = shift;
29                
30 5           10 return pack 'a8', $self->{address};
31               }
32                
33                
34               sub _format_rdata { ## format rdata portion of RR string.
35 2       2   2 my $self = shift;
36                
37 2           3 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           2 $self->address(@argument);
45 1           2 return;
46               }
47                
48                
49               sub address {
50 5       5 1 8 my ( $self, $address ) = @_;
51 5 100         15 $self->{address} = pack 'C8', map { hex($_) } split /[:-]/, $address if $address;
  16           23  
52 5 100         27 return defined(wantarray) ? join '-', unpack( 'H2H2H2H2H2H2H2H2', $self->{address} ) : undef;
53               }
54                
55                
56               1;
57               __END__