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; #### 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; }