my $start = 60;
my $startTime = time();
$|=0;
while(1) {
#        sleep(1);
        my $past = time() - $startTime;
        printf "%d\r", $start - $past;
        exit if $past >= $start;
}

このコードは秒が描画されるけどsleepのコメントアウト外すと描画されなくなるね。
不思議。なんででしょうか?環境依存?:This is perl, v5.8.8 built for MSWin32-x86-multi-thread