my @set = qw(a a b c c); my %seen; my @unique = grep { not $seen{$_} ++ } @set; #### my @set = qw(a a b c c); my %seen; @seen{@set} = (); my @unique = keys %seen;