sub remove_element { my @all = $listbox->get(0, 'end'); my @selected_no = $listbox->curselection(); my @selected_name; my $index = 0; foreach(@selected_no){ push(@selected_name, $listbox->get($_)); } foreach(@selected_name){ $listbox->delete( get_element_index(\@all, $selected_name[$index])); $index++; } } sub get_element_index { my ($arr_reference, $ele) = @_; my @arr = @{$arr_reference}; my $index = 0; foreach(@arr){ if($_ eq $ele){ return $index; } $index++; } }