Request::Upload uses File::Copy to copy the file. File::Copy also provides a move function.
Rationale
When uploading files, it adds to the response time if we have to then copy the same number of bytes from uploadtmp to somewhere else on the file-system. In most cases moving a file is atomic and very fast.
sub move_to {
my $self = shift;
return File::Copy::move( $self->tempname, @_ );
}