in reply to how can i use PuTTY under Net::SFTP::Foreign ?

I think this is as easy as using the the ssh_cmd parameter:
my $sftp = new Net::SFTP::Foreign(ssh_cmd => 'C:/path/to/putty.exe', h +ost => ...); ...