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)