my %args = ( user => "uname", password => "pword" ); my $sftp = Net::SFTP::Foreign::Compat->new($rhost, %args); $sftp->die_on_error("Unable to establish connection"); for(@files) { my $filename = basename($_); my $remotefile = $rdir . $filename; $sftp->put($_, $remotefile); }