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. 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.

Note that this module does not do any string preparation as specified by nameprep/stringprep. It does not do add any prefix or suffix, either.

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)

Decodes $input with Punycode and returns the result.

This function will throw an exception on invalid 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@bulknews.net> (versions 0.01 to 0.02)

Claus Färber <CFAERBER@cpan.org> (from version 1.00)

LICENSE

Copyright 2002-2004 Tatsuhiko Miyagawa <miyagawa@bulknews.net>

Copyright 2007-2010 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

RFC 3492 (http://www.ietf.org/rfc/rfc3492.txt), IETF::ACE, Convert::RACE