I haven't bought Higher Order Perl yet, but I've looked at the code examples and have been inspired. With that in mind:
# combines two pairs into a longer pair sub combine_codes_and_descriptions { my ($sofar, $next) = @_; if (!defined($sofar)) {return $next;} [$sofar->[0] . $next->[0], $sofar->[1] . ", " . $next->[1]]; } sub multi_dim_reduce { # $sofar optional my ($actionsub, $AoA, $combinesub, $sofar) = @_; if (@$AoA) { my $this_array = shift @$AoA; for my $elem (@$this_array) { my $subarray = [ @$AoA ]; multi_dim_reduce($actionsub, $subarray, $combinesub, $combinesub->($sofar,$elem)); } } else { $actionsub->($sofar); } } # The main event @data = ( [ [1, "Darth Vader"], [3, "Luke Skywalker"], [5, "Obi Wan Kenobi"], ],[ [0, "Lighsabre"], [5, "Blaster"], [9, "Rocket launcher"], ],[ [10, "Dagobah"], [14, "Kashyyyk"], ], ); multi_dim_reduce(sub {my ($c,$d) = @{$_[0]}; print "$c\t$d\n";}, [ @data ], \&combine_codes_and_descriptions);
-- @/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/; map{y/X_/\n /;print}map{pop@$_}@/for@/

In reply to Re: All Combinations of three arrays. by fizbin
in thread All Combinations of three arrays. by holli

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":