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)