#!/usr/bin/perl use strict; use warnings; use Tk; use Tk::ProgressBar; my $percent_done=0; my $mw = MainWindow->new(-title => 'Processing'); my $Progress = $mw->ProgressBar( -width => 30, -from => 0, -to => 100, -blocks => 50, -colors => [ 0, 'green', 50, 'yellow' , 80, 'red', ], -variable => \$percent_done )->pack(-fill => 'x'); $mw->Button(-text => 'Go!', -command=> sub { my $i; for ($i =0; $i < 1000; $i++) { $percent_done = $i/10; print STDOUT "$i\n"; $mw->update; } })->pack(-side => 'bottom'); MainLoop();