Tengo cientos de nombres de archivos en una matriz. Quiero crear un proceso hijo para cada 4 archivos en la matriz y hacer que ese niño haga algunas cosas en cada uno de esos 4 archivos. (Entonces, con 100 archivos, crearé 25 procesos).¿Cómo usar tenedor() en Perl?
Tengo problemas para entender el orden en que se procesan las líneas cuando hay un tenedor. Estaba pensando en lo que podía hacer algo como esto, pero estoy quedarse atascado:
foreach $file (@files) {
if ($f++ % 4 == 0) {
my $pid = fork();
if ($pid) {
push(@childs, $pid);
}
elsif ($pid == 0) {
... do stuff to $file ...
}
}
no creo que esto es correcto, y yo estoy esperando que alguien me puede apuntar en la dirección correcta. Gracias.
'while (mis @ files4 = empalme (@files, 0, 4)) {' (@files destruye, sin embargo) – ysth
Dado que estás incrementando '$ i' en 4, no necesitas multiplicarlo por 4 al cortar, ¿no? – itzy
'use List :: Gen 'by'; para mis $ archivos4 (por 4 => archivos @) {hacer algo con @ $ archivos4} ' –