Hi again,
Maybe this rudimentary implementation will help:
Note adds multiple entries for the same "sub_ppn"; you could count instead.use strict; use warnings; use feature 'say'; my %data; for (0..14) { my ($lpn, $ppn, $cnt_subppn) = get_ns(); push @{ $data{$lpn}{$ppn} }, (0..$cnt_subppn); } for my $lpn ( sort {$a <=> $b} keys %data ) { say "$lpn:"; for my $ppn ( sort {$a <=> $b} keys %{ $data{$lpn} } ) { say " $ppn:"; for my $sub_ppn ( sort {$a <=> $b} @{ $data{$lpn}{$ppn} } ) { say " $sub_ppn"; } } } sub get_ns { return (int(rand(10)), int(rand(10)), int(rand(10))); }
Example output:
0: 7: 0 1 2 3 4 5 6 7 8 9 2: 2: 0 1 2 9: 0 1 2 3 4 3: 5: 0 1 2 3 8: 0 1 2 3 4 5 6 7 8 4: 3: 0 1 2 3 4 5 6 7 8 7: 0 1 9: 0 1 2 5: 2: 0 1 2 3 4 5 6: 8: 0 0 1 1 2 2 3 3 4 4 5 6 7 8 9 9: 0 1 2 3 4 5 6 7 8 7: 7: 0 1 2 3 4 5 6 7 8: 4: 0 1 2 3 4 5 6 9: 3: 0 1
Hope this helps!
In reply to Re^3: Adding cols to 3d arrays - syntax
by 1nickt
in thread Adding cols to 3d arrays - syntax
by peterrowse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |