#! /usr/bin/perl -w use strict; use Tk; use Tk::DialogBox; use Tk::ProgressBar; my $w = new MainWindow(-title => 'Demo Tk'); my $pb = $w->ProgressBar( -width => 15, -length => 100, -from => 0, -to => 19 )->pack; $w->Button(-text => 'Push me', -command => [ \&do_me, $w, $pb ])->pack; MainLoop; exit; sub do_me { my $w = shift; my $pb = shift; for (0..19) { $pb->value($_); $w->update; sleep(1) } }