Ответ 1
Чтобы получить срез, начинающийся с ссылки на массив, замените имя массива блоком, содержащим ссылку на массив. Я использовал пробелы для распространения частей, но это все равно одно и то же:
my @slice = @ array [1,3,2];
my @slice = @ { $aref } [1,3,2];
Если ссылка внутри блока является простым скаляром (поэтому, а не массив или хеш-элемент или много кода), вы можете оставить фигурные скобки:
my @slice = @$aref[1,3,2];
Затем, если вы хотите получить ссылку от этого, вы можете использовать конструктор анонимного массива:
my $slice_ref = [ @$aref[1,3,2] ];
С новой функцией пост-разыменования (экспериментальной) в v5.20,
use v5.20;
use feature qw(postderef);
no warnings qw(experimental::postderef);
my @slice = $aref->@[1,3,2];