Take a look at Net::SFTP::Foreign. From the docs: "Net::SFTP::Foreign uses any compatible ssh command installed on the system (for instance, OpenSSH ssh) to establish the secure connection to the remote server." It specifically supports plink.
--marmot
Comment on Re: Making a shell work like a Net::Telnet session