You don't really need a trusted host relationship, you just need passwordless keys. If passwordless keys are impossible, then you will have to use the interactive method. Maybe you can go forward by hacking Net::Ssh::Perl to redirect the STDOUT part of the connection. Looking into the source of Net::SSH::Perl::SSH1, there seem to be handlers like SSH_SMSG_STDOUT_DATA and replacing the default handler with something that doesn't accumulate the string might help:
# Original code
sub cmd {
...
unless ($ssh->handler_for(SSH_SMSG_STDOUT_DATA)) {
$ssh->register_handler(SSH_SMSG_STDOUT_DATA,
sub { $ssh->{_cmd_stdout} .= $_[1]->get_str });
}
...
}
I would try to supply my own callback like this:
my $ssh = Net::SSH::Perl->new(...);
open my $outfh, ">", $filename
or die "Couldn't create '$filename' : $!";
binmode $outfh;
$ssh->register_handler('stdout', sub { print $outfh $_[1]; });