IDNA::Punycode - encodes Unicode string in Punycode
use IDNA::Punycode; idn_prefix('xn--'); $punycode = encode_punycode($unicode); $unicode = decode_punycode($punycode);
IDNA::Punycode is a module to encode / decode Unicode strings into Punycode, an efficient encoding of Unicode for use with IDNA.
This module requires Perl 5.6.0 or over to handle UTF8 flagged Unicode strings.
This module exports following functions by default.
$punycode = encode_punycode($unicode);
takes Unicode string (UTF8-flagged variable) and returns Punycode encoding for it.
$unicode = decode_punycode($punycode)
takes Punycode encoding and returns original Unicode string.
idn_prefix($prefix);
causes encode_punycode() to add $prefix to ACE-string after conversion. As a side-effect decode_punycode() will only consider strings beginning with $prefix as punycode representations.
According to RFC 3490 the ACE prefix "xn--" had been chosen as the standard. Thus, "xn--" is also the default ACE prefix. For compatibility I'm leaving idn_prefix() in the module. Use idn_prefix(undef) to get the old behaviour.
idn_prefix(undef)
These functions throws exceptionsn on failure. You can catch 'em via eval.
eval
Tatsuhiko Miyagawa <miyagawa@bulknews.net> is the original author and wrote almost all the code.
Robert Urban <urban@UNIX-Beratung.de> added idn_prefix().
idn_prefix()
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
http://www.ietf.org/internet-drafts/draft-ietf-idn-punycode-01.txt
Encode::Punycode
To install IDNA::Punycode, copy and paste the appropriate command in to your terminal.
cpanm
cpanm IDNA::Punycode
CPAN shell
perl -MCPAN -e shell install IDNA::Punycode
For more information on module installation, please visit the detailed CPAN module installation guide.