The Term :: ProgressBar module seems to be able to do what you need.
Notice I have not tried.
Edit Well, out of curiosity, I now tried a small script:
use warnings;
use strict;
use Term::ProgressBar;
my $total = 50;
my $progress_bar = Term::ProgressBar->new($total);
for my $i (1 .. $total) {
sleep (1);
$progress_bar->update($i);
}
, (, Status nn% completed), , -
10% [===== ]
, .