Мне нужно обработать большой объем данных в массивах с помощью 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);