Возвращаем из subroutine массив с данными perl
Пример sub :
sub test {
my @arr = ("1", "2", "3", "4");
};
Чтобы вернуть массив, мы возвращаем ссылку на него :
sub test {
my @arr = ("1", "2", "3", "4");
reutrn \@arr;
};
Далее в скрипте присваиваем ссылку переменной :
my $ref = &test();
и разыменовываем ссылку на массив, тем самым получая содержимое массива :
my @arr_ref = @$ref;
Итоговая тестовый скрипт выглядит так :
#!/usr/bin/perl
use strict;
use warnings;
sub test { my @test = ("1", "2", "3", "4"); return \@test;};
my $ref = &test();
print "@$ref[1]"; # обращаемся к элементам массива напрямую из разыменованной ссылки
Также можно использовать операторы разадресования :
#!/usr/bin/perl
use strict;
use warnings;
sub test { my @test = ("1", "2", "3", "4"); return \@test;};
my @ref = @{&test()};
print "$ref[1]";