my @a = (1..16); my $kid_size = 3; my $num = int(@a/$kid_size); my @b; foreach my $i (0..$num-1) { $b[$i] = [splice @a,0,$kid_size]; } $b[$num] = [@a]; foreach my $i (0..$num) { print "b($i): ", join(",", @{$b[$i]}), "\n"; }