Net::LibIDN - Perl bindings for GNU Libidn Provides bindings for GNU Libidn, a C library for handling Internationalized Domain Names according to IDNA (RFC 3490), in a way very much inspired by Turbo Fredriksson's PHP-IDN. There is currently no support for Perl's unicode capabilities (man perlunicode). All input strings are assumed to be octet strings, all output strings are generated as octet strings. Thus, if you require Perl's unicode features, you will have to convert your strings manually. For example: use Encode; use Data::Dumper; print Dumper(Net::LibIDN::idn_to_unicode('xn--uro-j50a.com', 'utf-8')); print Dumper(decode( 'utf-8', Net::LibIDN::idn_to_unicode('xn--uro-j50a.com', 'utf-8')));