# Closure - BROKEN! $frame[$a] -> Button(-text => "Delete frame", -command => sub { rmv( $frame[$a]) })->pack; # Array ref $frame[$a] -> Button(-text => "Delete frame", -command => [ \&rmv, $frame[$a] ] )->pack; } sub rmv { shift->destroy; } #### for (0 .. 5) { my $frame = $fmain->Frame(-borderwidth => 0)->pack(-side => 'left'); $frame->Label( -text => "Frame " . \$whichframe[$_] )->pack; $frame->Button(-text => "Delete frame", -command => sub { rmv($frame) }, )->pack; }