open(INFILE, "<", $fileToRead); binmode INFILE; my $ftp = Net::FTP->new("ftp.example.com"); $ftp->login('username', 'password'); $ftp->binary(); while (read INFILE, my $data, 2000000) { open(OUTFILE, ">", $fileToWrite); binmode OUTFILE; print OUTFILE $data; close(OUTFILE); $ftp->append($fileToWrite); # Here's where I will print the progress... } $ftp->quit();