my $table = $window->Table( -rows => 20, -columns=> 4, -fixedrows=>1, -takefocus=>1)->pack; $table->put(0,0,'Title'); $table->put(0,1,'Artist'); $table->put(0,2,'Album'); $table->put(0,3,'CD'); # later on... sub show_results { # clean up table. for my $i (1..$table->totalRows) { for my $j (0..3) { $table->put($i,$j,''); } } my $b = $window->Balloon(); # fill the new data. my $i = 0; foreach (keys %db) { if ($db{$_} =~ /$searchpattern/i) { my ($file, $location, $title, $artist, $album, $cd) = split /\n/, $db{$_}; my $l = $table->Label(-text=>$title); $b->attach($l, -balloonmsg=>$_); $table->put($i, 0, $l); $table->put($i, 1, $artist); $table->put($i, 2, $album); $table->put($i, 3, $cd); $i++; } } }