Как указано в других ответах, splice
работает.В качестве альтернативного подхода (в конце концов, TIMTOWTDI), если у вас есть верхний и нижний индексы для n
последовательных элементов, которые вы хотите удалить, то вы можете сделать это через grep
и срез массива.Например:
use strict;
use warnings;
my @a=("a".."z");
#We will remove the letters "e" through "u"
my $lower=4;
my $upper=20;
print "$_\n" foreach(@a[grep{$_<$lower or $_>$upper}0..$#a]);
Вывод:
a
b
c
d
v
w
x
y
z