#Here are some fake buttons using sub-canvas: my $scan1 = $rightframe-> Canvas(-width => 64, -height => 54, -highlightthickness => 0); my $scan2 = $rightframe-> Canvas(-width => 64, -height => 54, -highlightthickness => 0); my $scan3 = $rightframe-> Canvas(-width => 64, -height => 54, -highlightthickness => 0); &scan1start; MainLoop; sub reset { my @buttons = ($scan1,$scan2,$scan3); foreach (@buttons) { $_-> destroy; } #&scan1start; } sub scan1start { if ($numscan1 == 0) { $scan1-> form(-left => '187', -top => '319'); $scan1-> configure(-background => 'black'); $scan1-> Tk::bind('' => sub { .... etc .... etc .... etc }