Use Net::FTP::get($remote_file, $local_file, $offset) where offset is the byte count at which you want to transfer to resume. For example if you have received a partial file, you can check how many bytes you have downloaded with -s $file, and then use that number as the offset argument to Net::FTP::get(). The remaining of the file will be appended to the local file.