   _   _      _           ___ ____         __     _       _     _      
  | \ | | ___| |_   _ _  |_ _|  _ \__   __/ /_   / \   __| | __| |_ __ 
  |  \| |/ _ \ __| (_|_)  | || |_) \ \ / / '_ \ / _ \ / _` |/ _` | '__|
  | |\  |  __/ |_   _ _   | ||  __/ \ V /| (_) / ___ \ (_| | (_| | |   
  |_| \_|\___|\__| (_|_) |___|_|     \_/  \___/_/   \_\__,_|\__,_|_|   
                                                                       


This is the README for Net::IPv6Addr version 1.02.

Net::IPv6Addr is a "module" for the Perl computer programming language, a
library of computer code to install on a computer.  This document contains
four sections:

1. About - what the module does

2. Documentation - how to learn more about the module

3. Installation - how to install this module on a computer

4. Help - what to do if you get stuck

-----------------------------------------------------------------------------

1. ABOUT

Net::IPv6Addr - Check and manipulate IPv6 addresses

"Net::IPv6Addr" checks whether strings contain valid IPv6 addresses,
and converts IPv6 addresses into various formats.

All of "new", "is_ipv6", and "ipv6_parse" can
process the following formats:

Preferred form: x:x:x:x:x:x:x:x

"2001:db8:0:0:0:ff00:42:8329"

This is the form described as the "preferred form" in section 2.2 of
"RFC1884" et al. Output with "to_string_preferred".

Compressed form with double colon: x::x etc.

"2001:db8::ff00:42:8329"

This is the "canonical text representation format" of "RFC5952".
Output with "to_string_compressed".

Mixed IPv4/IPv6 format: x:x:x:x:x:x:d.d.d.d

"2001:db8:0:0:0:ff00:0.66.131.41"

Output with "to_string_ipv4".

Mixed IPv4/IPv6 with compression: x::x:d.d.d.d, etc.

"2001:db8::ff00:0.66.131.41"

Output with "to_string_ipv4_compressed".

Big integers

An IPv6 can be changed to a "Math::BigInt" object or a digit string
using "to_bigint". Big integers can also be input with
"from_bigint".

Base-85-encoded: [0-9A-Za-z!#$%&()*+;<=>?@^_`{|}~-]{20}

"9R}vSQ9RqiCvG6zn?Zyh"

This encoding was given in "RFC1924" as an April Fool's joke. Output
with "to_string_base85".

In addition, the following formats can be output:

Arrays

An IPv6 can be processed into its component pieces with "to_array"
or "to_intarray".

Reverse-address pointer

An IPv6 can be processed into its reverse-address pointer, as defined
by "RFC1886", using "to_string_ip6_int".

-----------------------------------------------------------------------------

2. DOCUMENTATION

You can read the documentation for the module online at the following
website:

    * http://metacpan.org/release/Net-IPv6Addr

(This link goes to the latest version of the module.)

After installing the module, you can read the documentation on your
computer using

    perldoc Net::IPv6Addr

-----------------------------------------------------------------------------

3. INSTALLATION

This module requires Perl version 5.6.0 or later.

To install the module from CPAN, use

    cpan Net::IPv6Addr

If you have the App::cpanminus installer, you may prefer

    cpanm Net::IPv6Addr

To install the module from the source file, Net-IPv6Addr-1.02.tar.gz,
follow this sequence of commands:

    tar xfz Net-IPv6Addr-1.02.tar.gz
    cd Net-IPv6Addr-1.02
    perl Makefile.PL
    make
    make install

If you want to test the module before installing it, use "make test" after
"make" and before "make install".

-----------------------------------------------------------------------------

4. HELP

To get help with the module, you can email the author, Ben Bullock, at
<bkb@cpan.org>. If you think there is a problem in the module, you can
report a bug at 

<https://rt.cpan.org/Dist/Display.html?Name=Net-IPv6Addr>,

or if you want to alter the source code of Net::IPv6Addr, try the public
repository on github at 

<https://github.com/benkasminbullock/net-ipv6addr>. 

-----------------------------------------------------------------------------

This README was written on Wed Mar 31 11:14:40 2021.

-----------------------------------------------------------------------------
