use Tk; use lib "."; use Tk::waitVariableX; my $break; sub start_it{ $break=0; while (!$break) { my $result = foo($a1, $a2); $detail->insert("1.0", $result); $mw->waitVariableX(3000, \$break); # cf EMU-book } } sub stop_it { $break = 1; # set by mou-click }