use Net::FTP; # Put approrpriate parameters in here my $ftp_conn = Net::FTP->new(...); opendir DIR, "/Some/Dir/With/Files" || die "Cannot open directory: $!\n"; my @filenames = grep !/^\.\.?$/, readdir DIR; closedir DIR; foreach my $file (@filenames) { $ftp_conn->put($file); } $ftp_conn->close;