ParseUtil::Domain
=================

A tool for parsing a domain name into its components.


Synopsis
========
         use ParseUtil::Domain;

         my $processed = parse_domain("somedomain.com");
           #   $processed == {
           #        domain => 'somedomain',
           #        domain_ace => 'somedomain',
           #        zone => 'com',
           #        zone_ace => 'com'
           #    }

Description
===========
       Just another tool for parsing domain names.  This module makes use of
       the data provided by the Public Suffix List
       (http://publicsuffix.org/list/) to parse tlds.  For completeness it
       tries to provide the respective puny encoded and decoded domain and tld
       part of a domain name.

Interface
========

    parse_domain
        Arguments
          "string"
            Examples:

              1. 'somedomain.com'
              2. 'test.xn--o3cw4h'
              3. 'bloss.co.at'
              4. 'bloss.de'

        Return
          "HASHREF"
            Examples:

              1.
              {
                domain => 'somedomain',
                zone => 'com',
                domain_ace => 'somedomain',
                zone_ace => 'com'
               }

              2.
              {
                domain => 'test',
                zone => 'XXX',
                domain_ace => 'test',
                zone_ace => 'xn--o3cw4h'
               }

              3.
              {
                domain => 'bloss',
                zone => 'co.at',
                domain_ace => 'bloss',
                zone_ace => 'co.at'
               }

              4.
              {
                domain => 'bloss',
                zone => 'de',
                domain_ace => 'xn--blo-7ka',
                zone_ace => 'de'
               }

Dependencies
============

        Net::IDN::Encode
        Net::IDN::Punycode
        Regexp::Assemble::Compressed
        The Public Suffix List at http://publicsuffix.org/list/



