my $struct = [ [], [], [] ]; for my $A (@{$struct->[0]}) { for my $B (@{$struct->[1]}) { for my $C (@{$struct->[2]}) { ... } } }