Clear questions and runnable codeget the best and fastest answer PerlMonks

### Re: How do I insert an element into an arbitrary (in range) array index?

by Denis.Beurive (Initiate)
 on Jul 07, 2010 at 12:38 UTC Need Help??

Hello! You can use this function :

```sub arrayInsertAfterPosition
{
my (\$inArray, \$inPosition, \$inElement) = @_;
my @res         = ();
my @after       = ();
my \$arrayLength = int @{\$inArray};

if (\$inPosition < 0) { @after = @{\$inArray}; }
else {
if (\$inPosition >= \$arrayLength)    { \$inPosition = \$arrayLen
+gth - 1; }
if (\$inPosition < \$arrayLength - 1) { @after = @{\$inArray}[(\$
+inPosition+1)..(\$arrayLength-1)]; }
}

push (@res, @{\$inArray}[0..\$inPosition],
\$inElement,
@after);

return @res;
}

my @tab = qw(A B C D E);
my @res = ();

@res = arrayInsertAfterPosition (\@tab, -1, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 0, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 1, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 2, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 3, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 4, 'Test');
print join(', ', @res) . "\n";
@res = arrayInsertAfterPosition (\@tab, 5, 'Test');
print join(', ', @res) . "\n";
[download]```

The result is :

```Test, A, B, C, D, E
A, Test, B, C, D, E
A, B, Test, C, D, E
A, B, C, Test, D, E
A, B, C, D, Test, E
A, B, C, D, E, Test
A, B, C, D, E, Test
[download]```

Log In?
 Username: Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://848439]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others meditating upon the Monastery: (3)
As of 2024-08-14 14:47 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?
When will the AI bubble burst?

Results (29 votes). Check out past polls.

Notices?
 • erzuuli ‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.