Be concise.

Be useful.

All contributions dictatorially edited by webmasters to match personal tastes.

Please do not paste any copyright violating resource.

Please try to avoid dependencies to third-party libraries and frameworks.

Implementation edit is for fixing errors and enhancing with metadata.

Instead of changing the code of the snippet, consider creating another Perl implementation.

Other implementations
s = append(s, 0)
copy(s[i+1:], s[i:])
s[i] = x
import java.util.List;
s.add(i, x);
s.insert(i, x)
s.splice(i, 0, x);
s.insert(i, x);
array_splice($s, $i, 0, $x);
import std.array;
s.insertInPlace(i, x);
s.insert(i, x);
Uses Classes;
s.Insert(i, x)
s.insert(i, x)
List.insert_at(s, i, x)
take i s ++ x : drop i s
{Left, Right} = lists:split(I-1, S),
Left ++ [X|Right].
s.insert (s.begin () + i, x);
using System.Collections.Generic;
s.Insert(i, x);
integer, dimension(:), allocatable :: s

s = [s(1:i-1), x, s(i:)]