#! /usr/bin/perl use warnings; use strict; use Socket; use Sys::Hostname; my $iaddr = gethostbyname(hostname()); my $proto = getprotobyname('udp'); my $paddr = sockaddr_in(0, $iaddr); # 0 means let kernel pick socket(SOCKET, PF_INET, SOCK_DGRAM, $proto) || die "socket: $!"; bind(SOCKET, $paddr) || die "bind: $!"; my ($hispaddr, $hisiaddr, $hisport); $hisport = 9999; $hisiaddr = inet_aton($ARGV[0]) || die "unknown host " . $ARGV[0]; $hispaddr = sockaddr_in($hisport, $hisiaddr); defined(send(SOCKET, "hi", 0, $hispaddr)) || die "send: $!";