NAME
Net::IDN::Encode - Internationalizing Domain Names in Applications (RFC 3490)
SYNOPSIS
use Net::IDN::Encode;
my $a = domain_to_ascii("müller.example.org");
my $e = email_to_ascii("POSTMASTER@例。テスト");
my $u = domain_to_unicode('EXAMPLE.XN--11B5BS3A9AJ6G');
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). This may change in future versions.
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). This may change in future versions.
The follwing characters are recognized as at signs: U+0040 (commercial at), U+FF20 (fullwidth commercial at).
AUTHOR
Claus Färber <CFAERBER@cpan.org>
LICENSE
Copyright 2007-2010 Claus Färber.
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)