my %grouped; for (@queries) { my ($k,$v) = %$_; push @{ $grouped{$k} }, $v; }