Как бы вы взяли ссылку на фрагмент массива так, чтобы при изменении элементов ссылки на фрагмент изменялся исходный массив?
Следующий код работает из-за @_
магии псевдонимов, но для меня это немного хакер:
my @a = 1 .. 10;
my $b = sub{\@_}->(@a[2..7]);
@$b[0, -1] = qw/ < > /;
print "@a\n";
# 1 2 < 4 5 6 7 > 9 10
Кто-нибудь есть лучше / быстрее?
Редактировать: приведенный выше пример кода просто иллюстрирует отношения, требуемые между @a и $ b, он никоим образом не отражает способ использования этой функциональности в рабочем коде.