Важным моментом, который следует помнить, является различие между () и []. '()' дает вам список элементов, например. (1, 2, 3), который вы можете затем присвоить переменной массива, как это -
my @listOfElem = (1, 2, 3);
'[]' является ссылкой массива и возвращает скалярное значение, которое вы можете включить в свой список.
my $refToElem = ['a', 'b', 'c'];
В вашем случае, если вы инициализируете первый массив, вы можете просто вставить элементы второго массива следующим образом:
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.
Если вам нужно добавить элементы массива на лету в середине массива, просто используйте «склейку», как подробно описано в других статьях.