Однонаправленный ssh-канал на Perl

Этот код заходит на удаленный $server пользователем $user, запускает программу $proga и передает ей данные.

$pid = open(RECV, "| -");
$SIG{ALRM} = sub { die "whoops, program pipe broke" };
if($pid)
{
print RECV "blablabla" || die ("Can't send data!\n");
close(RECV) || die ("SSH exited $?");
exit 0;
}
else
{#child
($EUID, $EGID) = ($UID, $GID);
exec("/usr/bin/ssh $user\@$server $proga 2>/dev/null") || die "can't exec program: $!";
}