$ 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 ] ]; $