File Coverage

blib/lib/Net/IP/Identifier/Plugin/Internal.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition 1 3 33.3
subroutine 6 6 100.0
pod 1 2 50.0
total 26 29 89.6


line stmt bran cond sub pod time code
1             #===============================================================================
2             # PODNAME: Net::IP::Identifier::Plugin::Internal
3             # ABSTRACT: identify Internal (non-routable) IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Wed Apr 1 12:11:51 PDT 2015
8             #===============================================================================
9              
10 1     1   38 use 5.008;
  1         5  
  1         57  
11 1     1   8 use strict;
  1         2  
  1         57  
12 1     1   53 use warnings;
  1         3  
  1         59  
13              
14             package Net::IP::Identifier::Plugin::Internal;
15              
16 1     1   8 use Role::Tiny::With;
  1         2  
  1         287  
17             with qw( Net::IP::Identifier_Role );
18              
19             our $VERSION = '0.110'; # VERSION
20              
21             sub new {
22 1     1 1 5 my ($class, %opts) = @_;
23              
24 1         2 my $self = {};
25 1   33     11 bless $self, (ref $class || $class);
26              
27             # List of internal (non-routable) IP blocks
28 1         8 $self->ips(
29             '10.0.0.0 - 10.255.255.255', # for general public use - RFC 1918
30             '100.64.0.0/10', # carrier grade (not for general public use!) RFC 6598
31             '169.254.1.0 - 169.254.254.255', # Link Local (zero-conf) RFC 6890 and RFC 3927
32             '172.16.0.0 - 172.31.255.255', # for general public use - RFC 1918
33             '192.168.0.0 - 192.168.255.255', # for general public use - RFC 1918
34             'fc00::/7', # Unique Local Address (ULA) RFC 4193 (global scope!)
35             'fec0::/10', # deprecated since Sept 2004 RFC 3879
36             'fe80::/10', # Link Local RFC 4862
37             );
38 1         8 return $self;
39             }
40              
41             sub name {
42 3     3 0 13 return 'internal';
43             }
44              
45             1;
46              
47             __END__