У меня есть сотни имен файлов в массиве. Я хочу создать дочерний процесс для каждых 4 файлов в массиве и сделать так, чтобы этот дочерний элемент сделал что-то для каждого из этих четырех файлов. (Итак, из 100 файлов я создам 25 процессов.)
У меня возникли проблемы с пониманием порядка, в котором обрабатываются строки при наличии разветвления. Я думал, что смогу сделать что-то подобное, но я застреваю:
foreach $file (@files) {
if ($f++ % 4 == 0) {
my $pid = fork();
if ($pid) {
push(@childs, $pid);
}
elsif ($pid == 0) {
... do stuff to $file ...
}
}
Я не думаю, что это правильно, и я надеюсь, что кто-то может указать мне правильное направление. Спасибо.