# best solution: $socketA = new IO::Socket::INET( PeerAddr => $A_box_address, PeerPort => $A_box_port, Proto => 'tcp', ) or $skipA = 1; # another option: $socketA = new IO::Socket::INET( PeerAddr => $A_box_address, PeerPort => $A_box_port, Proto => 'tcp', ); $skipA = 1 unless defined($socketA); # yet another eval q{ $socketA = new IO::Socket::INET( PeerAddr => $A_box_address, PeerPort => $A_box_port, Proto => 'tcp', ) or die("ouch\n"); }; $skipA = 1 if ($@ eq "ouch\n"); # and still yet... eval q{ $socketA = new IO::Socket::INET ( PeerAddr => $A_box_address, PeerPort => $A_box_port, Proto => 'tcp', ) or die("ouch\n"); } or $skipA = 1;