NAME
Net::IDN::Encode - Internationalizing Domain Names in Applications (RFC 3490)
SYNOPSIS
use Net::IDN::Encode;
$ascii = domain_to_ascii('müller.example.org');
$ascii = domain_to_ascii('例.example.net');
DESCRIPTION
This module provides an easy-to-use interface for encoding and decoding Internationalized Domain Names (IDNs).
IDNs use characters drawn from a large repertoire (Unicode), but IDNA allows the non-ASCII characters to be represented using only the ASCII characters already allowed in so-called host names today (letter-digit-hypen, /[A-Z0-9-]/i
).
FUNCTIONS
The following functions are exported by default.
- domain_to_ascii( $domain )
-
Converts all labels of the hostname
$domain
(with labels seperated by dots) to ASCII. Will throw an exception on invalid input.The following characters are recognized as dots: U+002E (full stop), U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), U+FF61 (halfwidth ideographic full stop).
- domain_to_unicode( $domain )
-
Converts all labels of the hostname
$domain
(with labels seperated by dots) to Unicode. Will throw an exception on invalid input.The following characters are recognized as dots: U+002E (full stop), U+3002 (ideographic full stop), U+FF0E (fullwidth full stop), U+FF61 (halfwidth ideographic full stop).
- email_to_ascii( $email )
-
Converts the domain part (right hand side, separated by an at sign) of the RFC 2821/2822 email address to ASCII. May throw an exception on invalid input.
This function currently does not handle internationalization of the local-part (left hand side).
The follwing characters are recognized as at signs: U+0040 (commercial at), U+FF20 (fullwidth commercial at).
- email_to_unicode( $email )
-
Converts the domain part (right hand side, separated by an at sign) of the RFC 2821/2822 email address to Unicode. May throw an exception on invalid input.
This function currently does not handle internationalization of the local-part (left hand side).
The follwing characters are recognized as at signs: U+0040 (commercial at), U+FF20 (fullwidth commercial at).
AUTHOR/LICENSE
Claus Färber <CFAERBER@cpan.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO
Net::IDN::Nameprep, Net::IDN::Punycode, RFC 3490 http://www.ietf.org/rfc/rfc3490.txt