use strict; use Array::Utils qw(:all); my @array = qw( a b c d c d e f g g g g g f); my @unique_array = unique(@array); print "@unique_array\n"; __END__ prints: e c a g b d f #### @unique_array = keys %{{map { $_ => undef } @array }}; #### my %seen; @unique_array = grep { not $seen{$_}++ } @array;