in reply to Net::Telnet

You need to change the value of Errmode when you initialize the Net::Telnet object.

Errmode=>'die' tells the program to abort if there is an error (and failing to connect to a host is an error). I would suggest you do the following:
$telnet = new Net::Telnet ( Timeout=>10, Errmode=>'return');
which will return undef if there is a connect failure. You can then test the return value of $telnet->open("$hosts$x"); for undef and proceed as you wish. One possibility:
use Net::Telnet; @hosts = ("ncc1","ncc2","ncc3"); for ($x=0; $x <= $#hosts; $x++) { $telnet = new Net::Telnet ( Timeout=>10, Errmode=>'return'); $result = $telnet->open("$hosts$x"); if($result) { $telnet->login('test', 'testuser'); my @arr = $telnet->cmd('ifconfig -a'); $telnet->close("$host"); print "\n Probe - $host \n"; print "\n @arr \n" ; } else { print $telnet->errmsg . "\n"; } }
I would suggest you read the Net::Telnet manpage

Hope this helps,
davidj