So, what do you get when you add $Net::SFTP::Foreign::debug=(~(8|16|1024|2048)) at the beginning of your script?
in reply to Net SFTP Foreign rget
Do you known which OS and SSH server is running on the remote side?
Also, Net::SFTP::Foreign->new(...) returns always a true value. In order to check for errors, you have to call the error method afterwards (or the die_on_error shortcut) or alternatively use the autodie mode. In example:
my $sftp = Net::SFTP::Foreign->new(...);
$sftp->die_on_error("Unable to connect to remote host");
my $sftp = Net::SFTP::Foreign->new(..., autodie => 1);