print "$_->[0] - $_->[1]\n" for @LoL; #### my @LoL; while(my @items = splice( @list, 0, 2) ){ push @LoL, [@items]; } #### my $size = 2; die "Uneven list" if @list % $size; my @LoL; for my $index ( 0.. $#list ){ my $rem = $index % $size; $LoL[($index - $rem)/$size]->[$rem] = $list[$index]; }