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/