my (@items, @unique, %seen); for (@items) { push @unique, $_ unless $seen{$_}++; }