sub Mix{map{my$a=$_;map{$$_[$a]}@_}0..Max(map{scalar @$_}@_)} sub Max{my$a=shift;while(@_){my$b=shift;$a=$b if($b>$a)}$a} print Mix([1,2,3,4],[5,6,7],[8,9,0]);