Мне нужно обработать большой объем данных в массивах с помощью Perl. В определенные моменты мне нужно будет вставить значения второго массива в первичный массив. Я видел, что соединение обычно должно быть подходящим вариантом. Однако после небольшого исследования я обнаружил, что эта функция требует большого объема памяти и со временем может вызвать серьезные проблемы с производительностью.
Вот в основном то, что мне нужно сделать -
# two arrays
@primary = [1, 2, 3, 4, 5, 6, 7, 8, 9];
@second = [a, b, c, d e];
Теперь вставьте содержимое ] @second в @primary со смещением 4 для получения -
@primary = [1, 2, 3, 4, a, b, c, d, e, 5, 6, 7, 8, 9];
Будет ли использование связанных списков наиболее эффективным способом, когда мне нужно обрабатывать первичный массив, содержащий более 2000 элементов?
Примечание: может ли кто-нибудь подтвердить, что это правильный способ сделать это
$Tail = splice($primary, 4);
push(@primary, @second, $Tail);
?