Разыменование значений из массива в объявленные переменные в одной строке

Чтобы получить аргументы из вызова функции, я обычно делаю

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

Мне интересно, есть ли способ разыменовать аргументы в @_ (или вообще в любом другом массиве) и вернуть их в список объявленных переменных всего одной строкой?

7
задан MattLBeck 16 March 2012 в 12:47
поделиться