How can I measure time under a second?

In general, you may not be able to. But if you system supports both the syscall function in Perl as well as a system call like gettimeofday, then you may be able to do something like this:

    require 'sys/syscall.ph';

    $TIMEVAL_T = "LL";

    $done = $start = pack($TIMEVAL_T, ());

    syscall( &SYS_gettimeofday, $start, 0)) != -1
		or die "gettimeofday: $!";

	##########################
	# DO YOUR OPERATION HERE #
	##########################

    syscall( &SYS_gettimeofday, $done, 0) != -1
	    or die "gettimeofday: $!";

    @start = unpack($TIMEVAL_T, $start);
    @done  = unpack($TIMEVAL_T, $done);

    # fix microseconds
    for ($done[1], $start[1]) { $_ /= 1_000_000 }

    $delta_time = sprintf "%.4f", ($done[0]  + $done[1]  )
					     -
				  ($start[0] + $start[1] );