my %seen; my @distinct_elems = grep { !$seen{$_}++ } @array; #### my %seen = map { $_ => 1 } @array; my @distinct_elems = keys %seen;