Sto eseguendo un programma in Perl che in un punto valuta i dati in un'istruzione if chiamata da una subroutine, ad es.In Perl esiste un modo per riavviare il programma attualmente in esecuzione da solo?
sub check_good {
if (!good) {
# exit this subroutine
# restart program
}
else {
# keep going
}
} # end sub
Il problema che ho è con l'uscita e il riavvio. So che posso semplicemente usare exit 0;
per uscire direttamente, ma ovviamente questo non è corretto se voglio tornare all'inizio. Ho provato a chiamare la subroutine che essenzialmente avvia il programma, ma ovviamente una volta eseguito tornerà di nuovo su questo punto. Ho pensato di metterlo in un ciclo while, ma ciò significherebbe mettere l'intero file nel loop e sarebbe molto poco pratico.
In realtà non so se questo sia possibile, quindi qualsiasi input sarebbe ottimo.
perdona la mia ignoranza - so che @ARGV è usato per gli argomenti della riga di comando, ma ho usato così posso Suppongo che memorizzino i dati nella stessa posizione di memoria (o qualcosa del genere)? –
dgBP
Questa è un'asserzione che potresti testare facilmente. – DavidO
Se si utilizza stdin, sarà necessario memorizzarlo da soli, magari in un file temporaneo. – tripleee