#! perl -slw use strict; use Time::HiRes qw[ time sleep ]; my $next = time() + 0.5; while( 1 ) { sleep .001 while time() < $next; printf "%10.3f\n", time(); $next += 0.5; } __END__ c:\test>849367 1279055103.020 1279055103.520 1279055104.020 1279055104.519 1279055105.020 1279055105.520 1279055106.019 1279055106.520 1279055107.020 1279055107.519 1279055108.020 1279055108.519 1279055109.020 1279055109.519 1279055110.020 1279055110.519 1279055111.020