use Data::Dumper; $test = [ "1" , "2" ,"3" , "4" ,"5" ,"6" ,"7" , "8" ,"9" ,"10" ]; while( @$test ) { @new_Array = splice( @$test , 0 , 3 ) ; print Dumper( \@new_Array ) ; }