28 lines
579 B
Perl
28 lines
579 B
Perl
package DDG::Goodie::IDN;
|
|
# ABSTRACT: Convert domain names from/to Punycode.
|
|
|
|
use DDG::Goodie;
|
|
use Net::IDN::Encode ':all';
|
|
use HTML::Entities;
|
|
|
|
attribution web => ['http://7bits.nl/','Peter van Dijk'],
|
|
email => ['peter@7bits.nl','Peter van Dijk'],
|
|
github => ['habbie'],
|
|
twitter => ['habbie'];
|
|
|
|
triggers start => 'idn';
|
|
|
|
handle remainder => sub {
|
|
if(/^xn--/) {
|
|
return 'decoded IDN: '.encode_entities(domain_to_unicode($_));
|
|
}
|
|
else {
|
|
return 'encoded IDN: '.encode_entities(domain_to_ascii($_));
|
|
}
|
|
# return;
|
|
};
|
|
|
|
zci is_cached => 1;
|
|
|
|
1;
|