@array = ([1,2,3],[4,5,6],[7,8,9]); while (grep scalar @{ $_ }, @array) { for $i (@array) { print shift @{ $i }; } }