in reply to Re: 'group by query' from array of hashes
in thread 'group by query' from array of hashes
Here's my refactoring of chayashida's fine illustration:
#!perl use strict; use warnings; my @all_queries; # Array of hashes my %queries_by; # Hash of arrays push @all_queries, { foo => 20 }; push @all_queries, { bar => 30 }; push @all_queries, { foo => 10 }; push @all_queries, { zen => 90 }; push @all_queries, { zen => 1 }; for my $query (@all_queries) { my ($query_key, $query_value) = %$query; push @{ $queries_by{$query_key} }, $query_value; } for my $query_key (sort keys %queries_by) { my @query_values = sort { $a <=> $b } @{ $queries_by{$query_key} } +; my $query_values = join ',', @query_values; print "$query_key has $query_values\n"; } __END__ bar has 30 foo has 10,20 zen has 1,90
|
|---|