use Net::DNS; @data = ("com","edu","gov","int","mil","net","org","ac","ad","ae","af","ag","ai", "al","am","an","ao","aq","ar","as","at","au","aw","az","ba","bb","bd","be","bf", "bg","bh","bi","bj","bm","bn","bo","br","bs","bt","bv","bw","by","bz","ca","cc", "cd","cf","cg","ch","ci","ck","cl","cm","cn","co","cr","cs","cu","cv","cx","cy", "cz","de","dj","dk","dm","do","dz","ec","ee","eg","eh","er","es","et","fi","fj", "fk","fm","fo","fr","ga","gb","gd","ge","gf","gg","gh","gi","gl","gm","gn","gp", "gq","gr","gs","gt","gu","gw","gy","hk","hm","hn","hr","ht","hu","id","ie","il", "im","in","io","iq","ir","is","it","je","jm","jo","jp","ke","kg","kh","ki","km", "kn","kp","kr","kw","ky","kz","la","lb","lc","li","lk","lr","ls","lt","lu","lv", "ly","ma","mc","md","mg","mh","mk","ml","mm","mn","mo","mp","mq","mr","ms","mt", "mu","mv","mw","mx","my","mz","na","nc","ne","nf","ng","ni","nl","no","np","nr", "nu","nz","om","pa","pe","pf","pg","ph","pk","pl","pm","pn","pr","ps","pt","pw", "py","qa","re","ro","ru","rw","sa","sb","sc","sd","se","sg","sh","si","sj","sk", "sl","sm","sn","so","sr","st","su","sv","sy","sz","tc","td","tf","tg","th","tj", "tk","tm","tn","to","tp","tr","tt","tv","tw","tz","ua","ug","uk","um","us","uy", "uz","va","vc","ve","vg","vi","vn","vu","wf","ws","ye","yt","yu","za","zm","zr", "zw"); @data = sort @data; print "TLD Nameservers\n"; foreach $asdf (@data) { print "

.$asdf

\n"; $res = new Net::DNS::Resolver; $res->nameservers("198.41.0.4","128.9.0.107"); $query = $res->query($asdf, "NS"); if ($query) { foreach $rr ($query->answer) { next unless $rr->type eq "NS"; @list = ($rr->nsdname,@list); } @list = sort @list; for $zxcv (@list) { print "$zxcv
\n"; } undef @list; } else { print "query failed: ", $res->errorstring, "\n"; } } print "";