@array = sort @array; # this is optimized by perl as a sort # in place operation that doesn't # require additional memory my $last = $array[0]; my $i = 1; while($i<@array) { if ($array[$i] eq $last) { splice @array, $i, 1 } else { $last = $array[$i]; $i++; } }