В моем коде я использую довольно примитивный метод извлечения параметров из вызова функции следующим образом:
sub addSix ($$$$$$) {
my ($a, $b, $c, $d, $e, $f) = (shift, shift, shift, shift, shift, shift);
return $a + $b + $c + $d + $e + $f;
}
print addSix (1, 2, 3, 4, 5, 6) . "\n";
(забудьте примитивный код, бит выделения - это несколько вызовов shift
).
Теперь это кажется довольно грязным для меня, и я, хотя у Perl может быть что-то вроде:
my ($a, $b, $c, $d, $e, $f) = shift (6);
или что-то подобное.
Но я не могу найти ничего подобного. Я знаю, что могу использовать массивы для этого, но я думаю, мне все равно придется распаковать массив на отдельные скаляры. Это не так уж плохо для примера выше, где шесть параметров похожи, но меня больше интересует случай, когда они не подходят в качестве массива.
Как вы можете извлекать параметры, не вдаваясь в брань с ключевыми словами shift
?