use warnings; use strict; use File::Find; use Net::FTP; my $ftp = Net::FTP->new("172.26.100.100", Debug => 0) or die "can't connect: $@"; $ftp->login("user","passwd") or die "cant' login"; $ftp->binary; my $directory = 'DIR00000'; find (\&wanted, $directory); sub wanted { $ftp->put ($File::Find::name); } $ftp->quit;