in reply to Array of Hashes to Hash of arrays for SQL::Abstract
In most cases "better" is likely to be subjective. However, I would probably try to loop over $data just once:
use strict; use warnings; use Test::More tests => 1; my $data = [ {a => 1, b => 2}, {a => 3, b => 4}, {a => 5, b => 6} ]; my $want = { a => [1, 3, 5], b => [2, 4, 6] }; my %columns; for my $row (@$data) { for my $k (keys %$row) { $columns{$k} //= []; push @{$columns{$k}}, $row->{$k}; } } is_deeply \%columns, $want;
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^2: Array of Hashes to Hash of arrays for SQL::Abstract
by Skeeve (Parson) on Mar 18, 2020 at 10:39 UTC | |
by Veltro (Hermit) on Mar 18, 2020 at 16:27 UTC | |
by haukex (Archbishop) on Mar 19, 2020 at 09:52 UTC | |
by Skeeve (Parson) on Mar 19, 2020 at 15:13 UTC |