2012-08-14 2 views
0

Perl 스크립트에서 일부 Matlab 코드를 실행 한 다음 기다린 다음 Linux에서 다른 Matlab 코드를 실행하고 싶습니다. Matlab 코드가 실패하면 오류 메시지가 나타납니다. 아래 Perl 스크립트는 Matlab 코드 1 또는 2에 오류가있는 경우에도 실행됩니다. Perl 스크립트를 멈추고 Matlab 코드가 실패 할 때 오류 메시지를 표시하려면 어떻게합니까?Matlab 코드를 실행할 때 Perl 스크립트를 멈추게하려면 어떻게해야합니까?

my $returnCode = system("matlab -nodisplay -r myfile1"); 

를 그런 다음, 다음 단계로 이동하기 전에, 리턴 코드가 0인지 확인 (또는 성공을 나타내는 어떤 :

print("run Matlab code 1!\n"); 
`matlab -nodisplay -r myfile1`; 

print("run Matlab code 2!\n"); 
`matlab -nodisplay -r myfile2`; 

print("End!\n"); 

답변

1

첫째, 실행중인 명령의 리턴 코드를 저장 귀하의 사례) :

if ($returnCode != 0) { 
    die "Command did not finish successfully."; 
} 

올바른 반환 코드가 무엇인지 결정하고 다른 경우에는 스크립트가 종료되도록 알려주십시오.

+1

정상적인 오류 메시지로 자동 오류 처리 기능을 사용하려면 해당 프로그램에'use autodie qw (: all)'을 추가하기 만하면됩니다. http://stackoverflow.com/a/3478060 읽기 – daxim

관련 문제