Net::IDN::Overview(3pm) | User Contributed Perl Documentation | Net::IDN::Overview(3pm) |
Net::IDN::Overwiew - Internationalized Domain Names for Applications (IDNA)
The "Net::IDN::*" modules provide a framework for the handling of Internationalized Domain Names for Applications (IDNA) in perl programmes.
This document provides an overview of the available modules in order to allow you to choose the best module for the task at hand.
HIGH-LEVEL (USE THIS)
Use this module if you just want to convert domain names and don't care about how this is done internally.
Currently, this module uses Net::IDN::UTS46. However, this might change in the future if another specification (e.g. a revision of IDNA2008) becomes more appropriate.
The author aims for Net::IDN::Encode to always use the specification that will provide the "least surprising" results.
STANDARD-SPECIFIC
These modules implement different versions of the the IDNA specifications. Use one of these modules only if you require compatibility with a specific incarnation of IDNA.
IDNA2003 is defined in RFC 3490 <http://tools.ietf.org/rfc/3490> and related documents.
ENCODING
Usually, it is not a good idea to use this module directly. If you convert domain labels (or other strings) without proper preparation, you may end up with an ASCII encoding that is not interoperable or poses security issues due to spoofing.
Even if you think that your domain names are valid and in already-mapped format, you might be fooled by different Unicode normalization forms (for example, some environments might automatically convert your data to NFD, which breaks IDNA).
DEPRECATED/COMPATIBILITY
These modules are only maintained in order to not break applications that might rely on them
The author tries to keep the dependency chain as small as possible; currently this distribution only depends on perl 5.8.5 (including the core module Unicode::Normalize ).
Claus Faerber <CFAERBER@cpan.org>
2022-10-19 | perl v5.36.0 |