in reply to Reporting Progress With Net::FTP (was : Net::FTP question)

Net::FTP::Common seems to let you do this by capturing STDERR. Otherwise with Net::FTP you might spend a lot of time fiddling with a dataconn object.

Or, you could calculate elapsed time and divide into the file size (use a file test) yourself.. seems STDERR messages would differ according to the server. The timing could be done pretty accurately if you use Time::HiRes.