Method calls don't interpolate, try: warn( "Put failed: ".$sftp->error."\n" ).
In reply to Re: Net::SFTP::Foreign error by haukex in thread Net::SFTP::Foreign error by roperl