in reply to Syntactically check domain name/IP
Just change my $name = lc $name; to $name = eval { punycode(lc $name) }; and add the Punycode code to your program. That'll do the trick.