#!/usr/local/bin/perl -w use strict; use IO::Socket; { my $timeout = 0; my $sock = undef; $SIG{ALRM} = sub {$timeout = 1; die}; eval { alarm (2); $sock = new IO::Socket::INET (PeerAddr => '10.1.1.18', PeerPort => 29, ); alarm (0); }; die "Can't open socket: timeout=$timeout\n" if ($timeout or !$sock); print "I would print to the socket now, if I knew what I was connected to\n"; close ($sock); }