#! perl -slw use strict; use threads; use threads::shared; sub nap { select '','','', $_[0] } my $done:shared = 0; my $thread = async( sub { $|++; until( $done ) { nap( 0.1 ), printf "\r%s\t\t", '.' x $_ for 1 .. 10, reverse 1 .. 10; nap( 0.01 ), printf "\r%s\t\t", '.' x $_ for 1 .. 10, reverse 1 .. 10; nap( 0.8 ); } }, $done ); sleep 60; $done = 1; $thread->join;