#!/usr/bin/perl use strict; use warnings; use Tk; use Tk::Tree; my $mw = tkinit; my $tree = $mw->Tree( -browsecmd => \&change )->pack; my $frame = $mw->Frame->pack; my %labels = ( test => $frame->Label( -text => 'test' ), hallo => $frame->Label( -text => 'hallo' ), ); for my $key ( keys %labels ){ $tree->add( $key , -text => $key ); } MainLoop; sub change{ my $item = shift; $_->packForget for $frame->children; $labels{$item}->pack; }