in reply to Most elegant way to dispose of duplicates using map

Assuming that What I need to do is get rid of the duplicates bassed on "id" means that you should not have two items with the same id, and also assuming that the returned order doesn't matter, I'd use:
sub extractPartTuplesFromURL { my $cgi = shift; my %partTuples; foreach my $tuple ($cgi->param('partID')) { my($id, $version, $classificiation) = split(/,/, $tuple); next if $partTuples{$id}; # Keeps the first entry. Remove it i +f you want to keep the last. $partTuples{$id} = [$version,$classificiation]; } map {{id => $_, version => $partTuples{$id}->[0], classification = +> $partTuples{$id}->[1]}} keys %partTuples; }
Or just return \%partTuples and change the caller.