http://www.perlmonks.org?node_id=560460


in reply to remove duplicate value in array

Fletch and Nevtlathiel have it above. Just in case the code sample is too dense, here's a little "looser" version that does the same thing:

my %seen; $seen{$_}++ for @content; my @unique = keys %seen;
So %seen is the hash that gets a key for each unique value in @content, and @unique is an array containing those (unique) keys.

Replies are listed 'Best First'.
Re^2: remove duplicate value in array
by ptum (Priest) on Jul 11, 2006 at 14:45 UTC

    And of course, the nice thing about this particular solution is you can still tell if there were any duplicate keys ... in such cases, the value of $seen{$key} will be greater than 1.


    No good deed goes unpunished. -- (attributed to) Oscar Wilde
Re^2: remove duplicate value in array
by ikegami (Patriarch) on Jul 11, 2006 at 22:01 UTC
    It doesn't do quite the same thing. Fletch's solution preserves order. Yours does not.