in reply to Dueling Modules

If you don't really need to use login/passwd pairs for authentication (using pairs of public and private keys, for instance), give a try to Net::SFTP::Foreign.

It is a fork of Net::SFTP that uses the native ssh client to stablish the connection to the remote server instead of Net::SSH::Perl, and so it has less dependencies and is more robust.