in reply to Re^4: nested maps
in thread nested maps

I've got something on CPAN which does similar.

use strict; use warnings; use List::MapMulti; use Data::Dump 'pp'; my @a = 1..3; my @b = 4..6; my @c = 7..9; pp mapm { $_[0] . $_[1] . $_[2] } \@a, \@b, \@c;

It can also be used as an iterator:

use strict; use warnings; use List::MapMulti 'iterator_multi'; use feature 'say'; my @a = 1..3; my @b = 4..6; my @c = 7..9; my $iter = iterator_multi( \@a, \@b, \@c ); while ( my ( $a, $b, $c ) = $iter->() ) { say $a, $b, $c; }

Replies are listed 'Best First'.
Re^6: nested maps
by raygun (Scribe) on Sep 22, 2020 at 21:53 UTC

    Thank you for the replies, and I'm sorry my query wasn't clear enough. I am not looking for additional solutions. I am looking for a way to choose between two of the solutions already presented.

    Specifically, in an application that uses a nested map only once, is it better to use a single temporary variable as in the example quoted in DrHyde's post, or is it better to load another CPAN module that only gets used the one time, simply to avoid this temporary variable? And is "better" different for the Perl interpreter than it is for the human who has to understand/maintain the code?

    If you want to offer another approach and explain why it's better than both those options, that's also useful.

    But what I'm interested in is the decision process, not new coding techniques. Thank you, and I hope that clarifies.