in reply to keys with an expression

This does create a temporary hash, but avoids the need to choose a name for the hash:

my @items = qw( foo bar bar baz quux baz ); my @unique = local(*_) && grep(!$_{$_}++, @items); print "$_\n" for @unique;
use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name