Есть похожий вопрос Как я могу присвоить результат вызова подпрограммы ссылкам на массивы в Perl? , но мне интересно узнать о возможностях perl
Есть ли в Perl хак для прямого разыменования массива ссылок?
в коде типа
sub test { return([1..4],[5..8]); }
my (@a,@b);
my @result = test();
@a = @{$result[0]}; @b = @{$result[1]};
Я хотел бы сократить код до простого утверждения, например
sub test { return([1..4],[5..8]); }
my (\@a,\@b) = test();
или в цикле
foreach my $element (\"1",\"2",\"3") {
my $dereferenced_element = $$element;
было бы неплохо написать что-то вроде
foreach my \$element (\"1",\"2",\"3") {
Я знаю, что этот синтаксис не имеет особого смысла, поскольку я не хочу присваивать значение ссылке на переменную, а назначаю разыменованное значение самой переменной
но мне любопытно, есть ли что-то в этом направлении в репертуаре Perl, и я думаю, что этот пример показывает лучшее, что я собираюсь сделать