#!/usr/bin/perl use warnings; use strict; use Term::ProgressBar 2.00; use constant MAX => 100_000; my $run_progress = Term::ProgressBar->new({name => 'Run', count => 10, remove => 1}); $run_progress->minor(0); my $run_update = 0; for (0..10) # the outer run { my $powers_progress = Term::ProgressBar->new({name => "Powers$_", count => MAX, remove => 1}); $powers_progress->minor(0); my $powers_update = 0; for (0..MAX) { my $is_power = 0; for(my $i = 0; 2**$i <= $_; $i++) { $is_power = 1 if 2**$i == $_; } $powers_update = $powers_progress->update($_) if $_ >= $powers_update; } $powers_progress->update(MAX) if MAX >= $powers_update; $run_update = $run_progress->update($_) if $_ >= $run_update; #print "\n"; }