use Net::SCP qw(scp); my ($host, $username) = ("example.com", "eric"); $scp = Net::SCP->new( { "host"=>$hostname, "user"=>$username } ); for my $file (@files) { $scp->put($file) or warn $scp->{errstr}; }