Zonemaster::Engine::Net::IP(3p)

NAME
Zonemaster::Engine::Net::IP - Net::IP/Net::IP::XS Wrapper (STILL EXPERIMENTAL)

SYNOPSIS
    my $ip = Zonemaster::Engine::Net::IP->new( q{0.0.0.0/8} );

PROCEDURAL INTERFACE

ip_is_ipv6
    Check if an IP address is of type 6.

    Params
        IP address

    Returns
        1 (yes) or 0 (no)

        ip_is_ipv6($ip) and print "$ip is IPv6";

Error
    Returns the error string corresponding to the last error generated in the module. This is also useful for the OO interface, as if the new() function fails, we cannot call $ip->error() and so we have to use Error().

        warn Error();

METHODS

new Constructor of object.

ip  Return the IP address (or first IP of the prefix or range) in quad format, as a string.

        print ($ip->ip());

overlaps
    Check if two IP ranges/prefixes overlap each other. The value returned by the function should be one of: $IP_PARTIAL_OVERLAP (ranges overlap) $IP_NO_OVERLAP (no overlap) $IP_A_IN_B_OVERLAP (range2 contains range1) $IP_B_IN_A_OVERLAP (range1 contains range2) $IP_IDENTICAL (ranges are identical) undef (problem)

        if ($ip->overlaps($ip2)==$IP_A_IN_B_OVERLAP) {...};

prefix
    Return the full prefix (ip+prefix length) in quad (standard) format.

        print ($ip->prefix());

prefixlen
    Return the length in bits of the current prefix.

        print ($ip->prefixlen());

print
    Print the IP object (IP/Prefix or First - Last)

        print ($ip->print());

reverse_ip
    Return the reverse IP for a given IP address (in.addr. format).

        print ($ip->reserve_ip());

short
    Return the IP in short format: IPv4 addresses: 194.5/16 IPv6 addresses: ab32:f000::

    print ($ip->short());

version
    Return the version of the current IP object (4 or 6).

        print ($ip->version());