in reply to Net::FTP question

If the file is on a remote ftp server, call size on it, sleep a bit and call size again. If the sizes are the same, it's probably done.

I don't think there's a definitive way of knowing whether some remote process is done writing.