in reply to Preserving timestamps with Net::FTP

I know this is not really what you're asking, but rsync handles this perfectly. Not only does it set the correct time stamps for you, but it uses a more sophisticated algorithm to determine "what has changed" that it needs to push to the remote server.

If you have ssh (with SSH-2 protocol support) installed on all of your servers, you could also use (bias :) Net::SFTP, which, in addition to providing secure transfers, will automatically set the time stamps correctly.