[ ...snippet... ] my $port = shift; my $proto = getprotobyname('tcp'); my $iaddr = inet_aton( '172.16.1.5' ); my $paddr = sockaddr_in($port, $iaddr); socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die "Cannot prepare socket: $!"; eval { connect(SOCKET, $paddr) || die "Can't connect to $port"; }; close SOCKET || warn "Cannot close socket: $!"; [ ...snippet... ]