use List::MoreUtils qw( each_array ); my @a = qw( a b c ); my @b = qw( A B C ); my @c = qw( 1 2 3 ); my $ea = each_array( @a, @b, @c ); while ( my( $a, $b, $c ) = $ea->() ) { print $a, $b, $c; }