use Term::ProgressBar; my $progress = Term::ProgressBar->new({name => 'Scaling images', count => scalar @imgfiles, ETA => 'linear'}); # update ETA once per second at most $progress->max_update_rate(1); foreach (@imgfiles) { perform_imaging_ops($_); $progress->update(); } #### crenz@tiffy:~ > scaleimages /my/directory Scaling images: 19% [========= ]ETA 23:35 #### Scaling images: 92% [============================================ ]5m14s Left