Perl에서 한 프로그램에서 서브 루틴 내에서 호출 된 if 문에서 데이터를 평가합니다.Perl에는 현재 자체에서 실행중인 프로그램을 다시 시작하는 방법이 있습니까?
sub check_good {
if (!good) {
# exit this subroutine
# restart program
}
else {
# keep going
}
} # end sub
문제는 나가서 다시 시작하는 것입니다. 나는 밖으로 나가기 위해서 그냥 exit 0;
을 사용할 수 있다는 것을 알고 있지만 처음으로 돌아가고 싶다면 분명히 올바르지 않습니다. 필자는 본질적으로 프로그램을 시작하는 서브 루틴 호출을 시도했지만, 일단 실행되면 다시이 시점으로 돌아갈 것입니다. while 루프에 넣는 방법에 대해 생각했지만이 방법은 전체 파일을 루프에 넣는 것을 의미 할 것이며 매우 비실용적입니다.
실제로 이것이 가능한지 여부는 알 수 없으므로 모든 입력 내용이 훌륭합니다.
내 무지를 용서합니다. @ARGV가 명령 행 인수로 사용된다는 것을 알고 있지만,을 사용할 수 있습니다. 나는 그들이 동일한 메모리 위치 (또는 무언가)에 데이터를 저장한다고 가정한다. –
dgBP
쉽게 테스트 할 수있는 주장입니다. – DavidO
stdin을 소비하는 경우 임시 파일에서 직접 버퍼링해야합니다. – tripleee