The important point to remember is the distinction between () and []. '()' gives you a list of elements, for eg. (1, 2, 3) which you could then assign to an array variable as so -
my @listOfElem = (1, 2, 3);
'[]' is an array reference and returns a scalar value which you could incorporate into your list.
my $refToElem = ['a', 'b', 'c'];
In your case, if you are initializing the first array then you could simply insert the second array elements like so,
my @listOfElem = (1, 2, ['a', 'b', 'c'], 3);
#This gives you a list of "4" elements with the third
#one being an array reference
my @listOfElem = (1, 2, $refToELem, 3);
#Same as above, here we insert a reference scalar variable
my @secondListOfElem = ('a', 'b', 'c');
my @listOfElem = (1, 2, \@secondListOfElem, 3);
#Same as above, instead of using a scalar, we insert a reference
#to an existing array which, presumably, is what you want to do.
#To access the array within the array you would write -
$listOfElem[2]->[0] #Returns 'a'
@{listOfElem[2]}[0] #Same as above.
If you have to add the array elements on the fly in the middle of the array then just use 'splice' as detailed in the other posts.