{ my $p=0; $|=1; sub tick { print substr(qq{|/-\\|/-\\}, $p++, 1), "\b"; $p=0 if ($p > 8); } } #### { my $bar=qq{0%..........50%..........100%}; $|=1; sub bar { local $_=$bar; substr($_, $_[0]/100*length($_), 1)="|"; print "$_\r"; } }