Для извлечения аргументов из вызова функции я обычно делаю
use strict;
use warnings;
foo([1,2],[3,4]);
sub foo{
my ($x, $y) = @_;
...
}
В этом примере $ x и $ y теперь являются ссылками на массив каждый. Если я хочу легко использовать переменные внутри этих массивов, я сначала разыменую их.
...
my ($x1, $x2) = @{$x}[0,1];
# ...same for $y
Мне интересно, есть ли способ разыменовать аргументы в @_ (или, действительно, в любом другом массиве) и вернуть их в список объявленных переменных в одну строку?