You want to join two arrays by appending all the elements of one to the end of the other.
The push
function is optimized for appending a list to the end of an array. You can take advantage of Perl's list flattening to join two arrays, but it results in significantly more copying than push
:
@ARRAY1 = (@ARRAY1, @ARRAY2);
Here's an example of push
in action:
@members = ("Time", "Flies"); @initiates = ("An", "Arrow"); push(@members, @initiates); # @members is now ("Time", "Flies", "An", "Arrow")
If you want to insert the elements of one array into the middle of another, use the splice
function:
splice(@members, 2, 0, "Like", @initiates); print "@members\n"; splice(@members, 0, 1, "Fruit"); splice(@members, -2, 2, "A", "Banana"); print "@members\n";
This is output:
Time Flies Like An Arrow
Fruit Flies Like A Banana
The splice
and push
functions in perlfunc (1) and Chapter 3 of Programming Perl; the "List Values and Arrays" section of Chapter 2 of Programming Perl; the "List Value Constructors" section of perldata (1)