my @firsts = ( 1, 2, 3, 4 ); my @seconds = qw( w x y z ); my @thirds = ( 5.6, 7.8, 9.0, 1.2 ); my @foos = map foo( @$_ ), transpose \( @firsts, @seconds, @thirds ); # @foos gets foo( 1, 'w', 5.6 ), foo( 2, 'x', 7.8 ), etc.