Net::IDN::Punycode(3pm) User Contributed Perl Documentation Net::IDN::Punycode(3pm)
NAME
Net::IDN::Punycode - A Bootstring encoding of Unicode for IDNA (RFC 3492)
SYNOPSIS
use Net::IDN::Punycode qw(:all);
$punycode = encode_punycode($unicode);
$unicode = decode_punycode($punycode);
DESCRIPTION
This module implements the Punycode encoding, and only the Punycode encoding.
This module does not implement any other steps required for converting internationalized
domain names (IDNs) to and from ASCII. In particular, it does not do any string
preparation as specified by Nameprep/IDNA2008/PRECIS and does not add nor remove the ACE
prefix ("xn--"). Thus, use Net::IDN::Encode if you want to convert domain names.
Punycode is an instance of a more general algorithm called Bootstring, which allows
strings composed from a small set of "basic" code points to uniquely represent any string
of code points drawn from a larger set. Punycode is Bootstring with particular parameter
values appropriate for IDNA.
WARNING
You may be tempted to use this module directly and add/remove the ACE prefix ("xn--") in
your code for performance reasons. Usually, this is not a good idea. If you convert
domain labels (or other strings) without proper preparation, you may end up with an ASCII
encoding that is not interoperable or even poses security issues due to spoofing.
Even if you think that your domain names are valid and already mapped to the correct form,
this may not be true. For example, some environments might automatically convert your
perfectly valid domain names to a different but equivalent Unicode normalization form
(e.g., NFD instead of NFC), which already breaks IDNA.
FUNCTIONS
No functions are exported by default. You can use the tag ":all" or import them
individually.
The following functions are available:
encode_punycode($input)
Encodes $input with Punycode and returns the result.
This function will throw an exception on invalid/unencodable input.
decode_punycode($input)
Decodes $input with Punycode and returns the result.
This function will throw an exception on invalid input.
AUTHORS
Tatsuhiko Miyagawa <miyagawa AT bulknews.net> (versions 0.01 to 0.02)
Claus Faerber <CFAERBER AT cpan.org> (versions 1.000 and higher)
LICENSE
Copyright 2002-2004 Tatsuhiko Miyagawa <miyagawa AT bulknews.net>
Copyright 2007-2014 Claus Faerber <CFAERBER AT cpan.org>
This library is free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
SEE ALSO
RFC 3492 (<http://www.ietf.org/rfc/rfc3492.txt>), IETF::ACE, Convert::RACE
perl v5.34.0 2022-02-06 Net::IDN::Punycode(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 17:26 @216.73.216.164 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)