sub post_suggestion_menu { my $widget = shift; my $menu = shift; my @wordpos; $menu->delete(0, 'end'); # extract word boundaries where user requested menu into @wordpos if (exists $spelling_suggestions{$word}) { $menu->add(command => -label => $_, -command => [\&replace_word, $widget, @wordpos, $_]) foreach @{$spelling_suggestions{$word}}; } else { $menu->add(command => -label => 'No suggestions.', -state => 'disabled'); } }