in reply to overriding time() if module exists

You don't need use, you don't need those "subs"s.
*gettime = eval { require Time::HiRes; 1 } ? \&Time::HiRes::time : \&t +ime;