$idx = 45; # pretend we've already found the insertion point @a[$idx+1 .. $#a+1] = @a[$idx .. $#a]; $a[$idx] = $newitem; #### $idxmove = $#a; while ($idxmove >= $idx) { $a[$idxmove+1] = $a[$idxmove]; $idxmove--; } $a[$idx] = $newitem;