@bigarray = ... ; #your data my @LoH; while (my ($t, $a, $l, $j)= splice (@bigarray,0,4)) { push @LoH, { Title => $t, Author => $a, Link => $l }; }