server.script: use Socket; ($Program = $0) =~ s@^.*/@@; $file = "/tmp/socket.$Program"; $addr = sockaddr_un($file); socket(SERVER, PF_UNIX, SOCK_STREAM, 0) || die "Could not create socket: $!"; unlink("$file"); bind(SERVER, $addr) || die "Could not bind: $!"; listen(SERVER,SOMAXCONN) || die "Could not listen: $!"; while (accept(CLIENT,SERVER)) { $cmd = ; if ($cmd) { $time = &timeStamp; open(CMD, "ssh2 rob\@machine_b $cmd |"); @results = ; close(CMD); print @results; } } client.script: use Socket; ($Program = $0) =~ s@^.*/@@; $file = "/tmp/server.script"; &Message("/home/me/run_script -r -s a1 -avg"); sub Message { my ($cmd) = @_; my $level = 1; if (socket(SOCKET, PF_UNIX, SOCK_STREAM, 0)) { connect(SOCKET, sockaddr_un($file)) || die "Could not connect: $!"; print SOCKET $cmd; close SOCKET; } else { print "I couldn't connect"; } }