#!/usr/bin/perl package main; use strict; use warnings; use Tk; use Tk::ProgressBar; my $mw = MainWindow->new(-title=>"Bug Demo"); my $pb = $mw->ProgressBar( -width => 20, -length => 200, -blocks => 20, )->pack(); my $button = $mw->Button( -text => 'Press this!', -command => \&count_up, )->pack(); MainLoop; sub count_up { $mw->update; my $progress = 0; $pb->configure( -from => 0, -to => 20, -variable => \$progress, ## store the reference. ); my $cnt = 0; print "\$cnt=$cnt; \$progress=$progress\n"; for (1..20) { $progress++; $cnt++ unless ($_ % 2); $mw->update; } $mw->update; } #### $cnt=0; $progress=0 $cnt=0; $progress=20 $cnt=0; $progress=40