my @t = ( 11111, $datapoint[$kk][1], $datapoint[$kk][2], 0, 0, 99999, 1111, ); my $point3 = $blocks[ $datapoint[ $kk ][ 3 ] ]; for my $rr ( ($jj + 1) .. $#$point3 ) { (@t, @{ $point3 }[ 0 .. 6 ]) = (@{ $point3 }[ 0 .. 6 ], @t); } push @$point3, \@t;