Suelo utilizar fork
en programas que también tienen END { ... }
bloques:¿Cómo desactivo los bloques END en procesos secundarios?
...
END { &some_cleanup_code }
...
my $pid = fork();
if (defined($pid) && $pid==0) {
&run_child_code;
exit 0;
}
El proceso hijo ejecuta el bloque END {}
ya que está saliendo, pero por lo general no quiero que eso ocurra. ¿Hay alguna manera de evitar que un proceso secundario llame al bloque END
en la salida? Aparte de eso, hay una manera para un programa de "saber" que es un proceso hijo, por lo que podría decir algo como
END { unless (i_am_a_child_process()) { &some_cleanup_code } }
?
Quizás estabas pensando en 'Manip :: END'. – mob
Sí, era Manip :: FIN. Estaba pensando en – ysth