in reply to How can I split a hash into other N hashes

Do you actually require splitting the hash? Partitioning the keys might suffice in many situations.

In any case, using part is one option.

use List::MoreUtils qw(part); use constant NWAYS => 3; my $i; #my @AoA = part { $i++ % NWAYS } keys %hash; my @AoH = map +{map {$_ => $hash{$_}} @$_}, part { $i++ % NWAYS } keys + %hash;
Update. Much cleaner with key/value slices[*] (untested):
use 5.020; my @AoH = map +{ %hash{@$_} }, part { $i++ % NWAYS } keys %hash;