Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Dns lookups

by perlaintdead (Scribe)
on Dec 11, 2013 at 07:52 UTC ( #1066557=CUFP: print w/ replies, xml ) Need Help??

i just needed an nslookup like tool so i wrote this oneliner.

F:\scripts>pllookup.pl perlmonks.org bing.com example.com

use Socket;print$_,"\n"and map$a.=ord.".",split'',inet_aton$_ and chop +$a and print$a,"\n\n"and$a=""for@ARGV;

Comment on Dns lookups
Select or Download Code
Re: Dns lookups
by VinsWorldcom (Priest) on Dec 11, 2013 at 15:49 UTC

    Nice, but doesn't do IPv6.

Re: Dns lookups
by hippo (Curate) on Dec 11, 2013 at 17:04 UTC

    Any reason not to use gethostbyname() instead?

    perl -MSocket -e '@h=gethostbyname($_) and print "$_\n".inet_ntoa($h[4])."\n\n" for @ARGV;' perlmonks.org bing.com example.com

    Still no good for IPv6, obviously, but a bit less wheel reinvention.

      haha. yeah i guess i should have looked into that module a bit more. I was just using what i was familiar with; needed something quick and dirty.

        and also you don't need those parens for gethostbyname

      you can also get rid of that pesky array

      use Socket;print "$_\n".inet_ntoa((gethostbyname$_)[4])."\n\n" for @AR +GV;

        The array is there to cope with the possibility of an unresolvable host. If you try your example above with args like

        ./pllookup.pl dklghslfhslgshj.com foo.com

        the unresolvability of dklghslfhslgshj.com would cause it to die on the first argument, whereas with the array it will just skip that and carry on to the remaining args. To my mind that's a better UX but others may disagree.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: CUFP [id://1066557]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others musing on the Monastery: (4)
As of 2014-09-21 00:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (165 votes), past polls