I believe if you wrap your request into an
LWP::Simple mirror call instead (using an FTP URL), the mirror code correctly sets the time stamp, which means that there's
some code in there somewhere to consistently understand the remote timestamp. Setting the timestamp locally is trivial: use the
utime operator.