#!/usr/bin/perl -w use strict; use warnings; use Tk; my $timer; my $mw = MainWindow->new(); $mw->Button( -text => 'Start', -command => \&start_process )->pack; $mw->Button( -text => 'Stop', -command => \&stop_process )->pack; MainLoop; sub start_process{ my $count = 0; $timer = $mw->repeat(1000, sub{ if ( $count < 10 ){ $count++ ; print "$count\n";} }); } sub stop_process{ #stopping the process $timer->cancel; }