$ perl -MData::Dumper -e ' > my @array = (1, 2, 3, 4, 5, 6, 7, 8); > my @new_array = map{ [$array[2 * $_ - 1], $array[2 * $_]] } 1 .. @array/2; -> print Dumper(\@new_array);' $VAR1 = [ [ 2, 3 ], [ 4, 5 ], [ 6, 7 ], [ 8, undef ] ]; $ #### $ perl -MData::Dumper -e ' > my @array = (1, 2, 3, 4, 5, 6, 7, 8); > my @new_array = map{ [$array[2 * $_], $array[2 * $_ + 1]] } 0 .. $#array/2; -> print Dumper(\@new_array);' $VAR1 = [ [ 1, 2 ], [ 3, 4 ], [ 5, 6 ], [ 7, 8 ] ]; $