Exports
Nothing is exported by default.
Error messages
In some instances this won't set error codes or messages where "Net::IP" would, though it should be
mostly the same.
Object-oriented interface
The object-oriented interface uses function calls and hashref lookups internally, such that
subclassing "Net::IP::XS" will not have the same effect as it does with "Net::IP".
ip_auth
Returns "undef" on failure, instead of dying.
ip_binadd
Returns "undef" if either of the bitstring arguments is more than 128 characters in length.
Any character of the bitstring that is not a 0 is treated as a 1. The "Net::IP" version returns
different results for different digits, and treats non-digits as 0.
ip_bintoint
The integer returned will be at most ((1 << 128) - 1) (i.e. the largest possible IPv6 address).
"Net::IP" handles bitstrings of arbitrary length.
ip_compress_address
Returns "undef" if the IPv6 address argument is invalid.
ip_compress_v4_prefix
Returns "undef" if the "len" argument is negative or greater than 32.
ip_expand_address
Does not set "Error" or "Errno" where there is a problem with an embedded IPv4 address within an IPv6
address.
Returns the zero IP address if the empty string is provided. The "Net::IP" version returns "undef".
Returns a full IPv6 address if a partial address is provided (e.g. returns
'ffff:ffff:0000:0000:0000:0000:0000:0000' if 'ffff:ffff' is provided). The "Net::IP" version returns
the partial address.
Returns "undef" on an invalid IPv4/IPv6 address. The "Net::IP" version returns the zero address for
IPv4 and whatever was provided for IPv6.
ip_get_mask
The mask returned will always have a length equal to the number of bits in an address of the
specified IP version (e.g. an IPv4 mask will always comprise 32 characters). The "Net::IP" version
will return a longer mask when the "len" argument is larger than the number of bits in the specified
IP version.
If a negative "len" is provided, it will be treated as zero.
ip_inttobin
The bitstring returned will always be either 32 or 128 characters in length, and it returns "undef"
if the integer argument would require more than 128 characters to represent as a bitstring. If an
invalid version is provided, the returned bitstring will be 128 characters in length. The "Net::IP"
version handles arbitrary integers and expands to accommodate those integers, regardless of the
version argument. Also, if an invalid version is provided, the returned bitstring is only as long as
is necessary to accommodate the bitstring.
ip_iptobin
Returns "undef" on an invalid IPv4/IPv6 address.
ip_last_address_bin
Returns an empty string if an invalid version (i.e. not 4 or 6) is provided. If the bitstring
provided is longer than the number of bits in the specified version, then only the first 32/128 bits
will be used in determining the last address. If the "len" provided is invalid (negative or more than
32/128 depending on the version), it will be treated as the maximum length of the specified version.
ip_normalize
For the 'plus' style of string (e.g. '1.0.0.0 + 255'), whitespace between the plus character and the
parts before and after it is optional. In the "Net::IP" version, there has to be some whitespace
before and after the plus character. Also, "undef" will be returned if the part after the plus sign
is not a number. The "Net::IP" version will return two copies of the single address in this instance.
For the 'prefix range' style of string (e.g. '1.0.0.0/8'), the part after the slash must be a number.
If it is not, "undef" will be returned. The "Net::IP" version will return two copies of the single
address in this instance.
ip_range_to_prefix
Returns "undef" if the version argument is invalid.
ip_reverse
The "len" argument determines the length of the reverse domain - e.g., if the arguments are
'127.0.0.1', '16' and '4', the reverse domain will be '0.127.in-addr.arpa.'. The "Net::IP" version
does not take the "len" argument into account for IPv4 addresses. For IPv6 addresses, a compressed IP
address string may be provided.
ip_splitprefix
Returns "undef" unless the first component of the string is less than or equal to 64 characters in
length. The "Net::IP" version handles strings of arbitrary length.
prefix
Returns a string with a prefix length of zero (e.g. '127.0.0.1/0') where "prefixlen" is not defined
in the object. The "Net::IP" version will not include any prefix length in the returned string (e.g.
'127.0.0.1/').