Хорошо, я попытаюсь объяснить, что я сделал до сих пор. Я использую Parellel :: ForkManager для получения данных из массива URL-адресов, который затем сохраняется в переменных (value1, value2, value3).
Затем я собираю данные всех этих процессов и отображаю их с помощью $pm->run_on_finish
.
#...
my $pm = new Parallel::ForkManager(10);
$pm->run_on_finish (
sub {
my @info = @{$data_structure_reference};
print $info[0];
print $info[1];
print $info[2];
}
);
for my $var (@urls) {
$pm->start and next;
#...
@returned = &something($var);
#...
$pm->finish(0, \@returned);
}
sub something {
#... getting data from each URL and storing it in variables
my @array = (
$value1,
$value2,
$value3
);
return @array;
}
Теперь, что я хочу сделать, так это передать массив, также @value4
, и затем отображать эти данные, только если что-то есть в массиве. Итак, я хочу, чтобы это выглядело так:
sub something {
#... getting data from each URL and storing it in variables
my @array = (
$value1,
$value2,
$value3,
@value4
);
return @array;
}
А потом я хочу, чтобы он распечатал этот массив, только если в нем что-то есть.
К сожалению, я не совсем уверен, как это сделать.