URI::_punycode(3) User Contributed Perl Documentation URI::_punycode(3) NAME URI::_punycode - encodes Unicode string in Punycode SYNOPSIS use strict; use warnings; use utf8; use URI::_punycode qw(encode_punycode decode_punycode); # encode a unicode string my $punycode = encode_punycode('http://.net'); # http://.net-xc8g $punycode = encode_punycode('bucher'); # bcher-kva $punycode = encode_punycode(''); # ihqwcrb4cv8a8dqg056pqjye # decode a punycode string back into a unicode string my $unicode = decode_punycode('http://.net-xc8g'); # http://.net $unicode = decode_punycode('bcher-kva'); # bucher $unicode = decode_punycode('ihqwcrb4cv8a8dqg056pqjye'); # DESCRIPTION URI::_punycode is a module to encode / decode Unicode strings into Punycode , an efficient encoding of Unicode for use with IDNA . FUNCTIONS All functions throw exceptions on failure. You can "catch" them with Syntax::Keyword::Try or Try::Tiny. The following functions are exported by default. encode_punycode my $punycode = encode_punycode('http://.net'); # http://.net-xc8g $punycode = encode_punycode('bucher'); # bcher-kva $punycode = encode_punycode('') # ihqwcrb4cv8a8dqg056pqjye Takes a Unicode string (UTF8-flagged variable) and returns a Punycode encoding for it. decode_punycode my $unicode = decode_punycode('http://.net-xc8g'); # http://.net $unicode = decode_punycode('bcher-kva'); # bucher $unicode = decode_punycode('ihqwcrb4cv8a8dqg056pqjye'); # Takes a Punycode encoding and returns original Unicode string. AUTHOR Tatsuhiko Miyagawa is the author of IDNA::Punycode which was the basis for this module. SEE ALSO IDNA::Punycode, RFC 3492 , RFC 5891 COPYRIGHT AND LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.38.0 2023-10-04 URI::_punycode(3)