Robert Urban > IDNA-Punycode-0.03 > IDNA::Punycode

Download:
IDNA-Punycode-0.03.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.03   Source  

NAME ^

IDNA::Punycode - encodes Unicode string in Punycode

SYNOPSIS ^

  use IDNA::Punycode;
  idn_prefix('xn--');
  $punycode = encode_punycode($unicode);
  $unicode  = decode_punycode($punycode);

DESCRIPTION ^

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.

FUNCTIONS ^

This module exports following functions by default.

encode_punycode
  $punycode = encode_punycode($unicode);

takes Unicode string (UTF8-flagged variable) and returns Punycode encoding for it.

decode_punycode
  $unicode = decode_punycode($punycode)

takes Punycode encoding and returns original Unicode string.

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

These functions throws exceptionsn on failure. You can catch 'em via eval.

AUTHORS ^

Tatsuhiko Miyagawa <miyagawa@bulknews.net> is the original author and wrote almost all the code.

Robert Urban <urban@UNIX-Beratung.de> added idn_prefix().

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO ^

http://www.ietf.org/internet-drafts/draft-ietf-idn-punycode-01.txt

Encode::Punycode

syntax highlighting: