in reply to Re^2: Importing Time::HiRes::time at run-time (and failing)
in thread Importing Time::HiRes::time at run-time (and failing)

you can simplify it a bit replacing the eval "..." by a eval {...} and returning a reference to Time::HiRes::time instead of it wrapped inside an additional sub:
package P; sub new { my $class = shift; my $self = {}; $self->{_time_func} = eval { require Time::HiRes } ? \&Time::HiRes::time : sub { time() }; bless $self, $class }