use strict; use Tk; use Data::Dumper; my @data = (qw( ccc eee ddd aaa aaa ccc ddd ddd bbb ddd eee ggg fff)); my %seen; # Create & configure text widget... my $top = MainWindow->new; my $list = $top->Scrolled('Listbox')-> pack(-side=>'right', -fill=>'both', -expand =>1); my $ref; $ref = $top->repeat(700, \&addItem); sub addItem { my $item = shift(@data); if(!$item) { $ref->cancel; return }; print STDERR "$item\n"; if(! $seen{$item}) { $list->delete(0, 'end'); $list->insert('end', sort(keys(%seen))); } $seen{$item}++; print STDERR "SEEN DUMP:\n", Dumper(\%seen), "\n"; } MainLoop();