@students = ( { name => "Guy", college => "Yale", }, { name => "Gil", college => "Harvard", }, { name => "Gil", college => "Harvard", }, ); #### @uniq_students = ( { name => "Guy", college => "Yale", }, { name => "Gil", college => "Harvard", }, ); #### ##Solution for one hash key my @unique = do { my %seen; grep { !$seen{$_->{name}}++ } @students};