In chasing down a bug in the CORE test suite, I wanted 'make TEST' to print the TIME next to 'ok' and found that t/TEST already supported a way to show the elapsed time though the $HARNESS_TIMER environment.
I made this change to t/TEST: --8<--- --- - 2007-10-24 12:16:04.091354000 +0200 +++ t/TEST 2007-10-24 12:15:50.000000000 +0200 @@ -496,8 +496,12 @@ EOT else { if ($max) { my $elapsed; - if ( $show_elapsed_time ) { - $elapsed = sprintf( " %8.0f ms", (Time::HiRes::time() - $test_start_time) * 1000 ); + if ( $show_elapsed_time eq "time" ) { + my @now = localtime; + $elapsed = sprintf " %02d:%02d:%02d", (localtime)[2,1,0]; + } + elsif ( $show_elapsed_time ) { + $elapsed = sprintf " %8.0f ms", (Time::HiRes::time() - $test_start_time) * 1000; } else { $elapsed = ""; -->8--- but as t/TEST is a somewhat modified descendant of Harness.pm, I guess a more generic change might be in order pc09:/pro/3gl/CPAN/perl-current/t 136 > env HARNESS_TIMER=0 ./TEST op/ver.t t/op/ver....ok All tests successful. u=0.00 s=0.00 cu=0.02 cs=0.00 scripts=1 tests=53 pc09:/pro/3gl/CPAN/perl-current/t 137 > env HARNESS_TIMER=1 ./TEST op/ver.t t/op/ver....ok 26 ms All tests successful. u=0.02 s=0.00 cu=0.02 cs=0.00 scripts=1 tests=53 pc09:/pro/3gl/CPAN/perl-current/t 138 > env HARNESS_TIMER=time ./TEST op/ver.t t/op/ver....ok 12:18:46 All tests successful. u=0.02 s=0.00 cu=0.02 cs=0.00 scripts=1 tests=53 pc09:/pro/3gl/CPAN/perl-current/t 139 > -- H.Merijn Brand Amsterdam Perl Mongers (http://amsterdam.pm.org/) using & porting perl 5.6.2, 5.8.x, 5.10.x on HP-UX 10.20, 11.00, 11.11, & 11.23, SuSE 10.1 & 10.2, AIX 5.2, and Cygwin. http://qa.perl.org http://mirrors.develooper.com/hpux/ http://www.test-smoke.org http://www.goldmark.org/jeff/stupid-disclaimers/