http://www.perlmonks.org?node_id=960924


in reply to netcat in perl

golf challenge: one-liner netcat clone

Replies are listed 'Best First'.
Re^2: netcat in perl
by jose_m (Acolyte) on Mar 22, 2012 at 15:13 UTC

    sweet..thank you both. i added a few things, i am going to use nslookup to get the ips, then i am putting them into an array and looping through that. this way i dont have to modify the script when the ip changes. also this script needs to return and exit status for nagios it will be part of the monitoring framework..

    here is what i came up with, it runs fine, but i am open for suggestions..
    #!/usr/bin/perl #nagios return codes: 0->All Good, 2->Critical use Net::Nslookup; use Socket; #global var. exit status# $exit_status = 0; sub GetIps { #here we are getting the ip addresses and populating the ip array @ips; @ips= nslookup(domain =>"google.com"); } sub FirstCheck { foreach (@ips) { $socket = new IO::Socket::INET->new(PeerAddr => $_, PeerPort => '777', Proto => 'tcp', Timeout => 2, ) or print "could not create bind to $_. port 777: $@\n" + and $exit_status=2 ; close($socket); } } sub SecondCheck { foreach (@ips) { $socket = new IO::Socket::INET->new(PeerAddr => $_, PeerPort => '443', Proto => 'tcp', Timeout => 2, ) or print "could not create bind to $_. port 443: $@\n" + and $exit_status=2; close($socket); } } #calling in the subz! &GetIps; &FirstCheck; &SecondCheck; #exiting the program with an exit status. exit ($exit_status);

    also perl throws a bunch of errors if i run this with strict. anyone want to try it in strict and tell me whats wrong?