package Data::IPV4::Range::Parse;
Data::IPV4::Range::Parse - Perl extension parsing ipv4 ranges
use Data::IPV4::Range::Parse;
($stat_int,$end_int)=auto_parse_ipv4_range('10/24');
($stat_int,$end_int)=auto_parse_ipv4_range('10.0.0 - 11');
($stat_int,$end_int)=auto_parse_ipv4_range('9');
unless(($stat_int,$end_int)=auto_parse_ipv4_range('10/')) {
print "failed to parse 10/\n";
}
Simple Interface for getting start and ending address of ranges as integers.
:CONSTANTS
ALL_BITS
MAX_CIDR
MIN_CIDR
:PARSE_IP
int_to_ip
ip_to_int
:SORT
sort_quad
sort_notations
:COMPUTE_FROM_INT
broadcast_int
base_int
size_from_mask
hostmask
cidr_to_int
:PARSE_RANGE
parse_ipv4_cidr
parse_ipv4_range
parse_ipv4_ip
auto_parse_ipv4_range
This section explains the Exportable constants.
- ALL_BITS
Same as 0xffffffff
- MAX_CIDR
Same as 32
- MIN_CIDR
Same as 0
This section covers the parse ipv4 address functions.
This section covers the Exportable sort functions.
This section covers the Exportable integer computation functions
- my
$broadcast_int=broadcast_int($ip_int,$mask_int);
- my
$broadcast_int=Data::IPV4::Range::Parse->broadcast_int(
$ip_int, $mask_int );
Returns an integer representing the broadcast address from 2
integers.
- my $base_int=base_int($ip_int,$mask_int);
- my
$base_int=Data::IPV4::Range::Parse->base_int(
$ip_int, $mask_int );
Returns an integer representing the base address from 2
integers.
- my $size=size_from_mask($mask_int)
- my
$size=Data::IPV4::Range::Parse->size_from_mask($mask_int)
Returns an integer representing the size of a network.
- my $hostmask_int=hostmask($ip_int,$mask_int);
- my
$hostmask_int=Data::IPV4::Range::Parse->hostmask(
$ip_int, $mask_int );
Returns an integer representing the hostmask from 2
integers.
- my $mask_int=cidr_to_int(0-32);
- my
$mask_int=Data::IPV4::Range::Parse->cidr_to_int(
0-32 );
Returns an integer representing netmask from a given cidr
size.
This section covers the Exportable range parser functions. An empty set is
returned when the range cannot be parsed.
- my ($start,$end)=parse_ipv4_cidr('10/23');
- my ($start,$end)=Data::IPV4::Range::Parse->parse_ipv4_cidr( '10/23' );
Returns 2 integers representing the base and broadcast of a
CIDR.
- my ($start,$end)=parse_ipv4_range( '10 - 11' );
- my ($start,$end)=Data::IPV4::Range::Parse->parse_ipv4_range( '10 - 11'
);
Returns 2 integers representing the start and end of a ip
range.
- my ($start,$end)=parse_ipv4_ip('10.0.0.1')
- my ($start,$end)=Data::IPV4::Range::Parse->parse_ipv4_ip( '10.0.0.1' )
Returns 2 integers representing the input ip as a /32
range
- my ($start,$end)=auto_parse_ipv4_range('10');
- my ($start,$end)= Data::IPV4::Range::Parse->auto_parse_ipv4_range( '10'
);
Attempts to figure out what type of range notation and calls
the corresponding parse_ipv4_xxx function, returning an empty set on
failure or 2 integers representing the start and end of the range.
As of version 1.04 the Project has been moved to SourceForge.net
Data IPV4 Range Parse
<https://sourceforge.net/projects/data-ipv4-range/>
Copyright (C) 2010 by Michael Shipper
This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself, either Perl version 5.10.0
or, at your option, any later version of Perl 5 you may have available.