use strict; use warnings; use Data::Dumper; my @list = qw(a b c d a a b e); my %seen; @seen{@list} = (); print Dumper [ sort keys %seen ];