in reply to 1d array into 3d

That's overly complicated.
my $i = 0; for my $x (0..$nx-1) { for my $y (0..$ny-1) { for my $z (0..$nz-1) { $dst[$x][$y][$z] = $src[$i++]; }}}