Estoy ejecutando un programa en Perl que en un momento evalúa datos en una instrucción if llamada desde una subrutina, p.En Perl, ¿hay alguna manera de reiniciar el programa que se ejecuta desde sí mismo?
sub check_good {
if (!good) {
# exit this subroutine
# restart program
}
else {
# keep going
}
} # end sub
El problema que tengo es salir y reiniciar. Sé que puedo usar exit 0;
para salir directamente, pero obviamente esto no es correcto si quiero volver al principio. Traté de llamar a la subrutina que esencialmente inicia el programa, pero, por supuesto, una vez que se ha ejecutado volverá a este punto nuevamente. Pensé en ponerlo en un ciclo while, pero esto significaría poner el archivo completo en el bucle y sería muy poco práctico.
Realmente no sé si esto es posible, por lo que cualquier entrada sería genial.
perdón mi ignorancia - Sé que @ARGV se utiliza para argumentos de línea de comandos, pero he usado para que pueda Supongo que almacenan datos en la misma ubicación de memoria (o algo así). –
dgBP
Esa es una afirmación que podría probar fácilmente. – DavidO
Si consume stdin, tendrá que almacenarlo usted mismo, quizás en un archivo temporal. – tripleee