Цель этого сценария perl - сначала выполнить рефакторинг файла .cpp
, а затем скомпилировать весь пакет.Если все идет хорошо, переходите к следующему файлу, в противном случае замените исходный файл из каталога backup
и так далее.Ниже приведен сценарий perl для запуска makefile
пакета.
@lcpp = `ls *.cpp`;
chomp(@lcpp);
foreach (@lcpp) {
print "processing file $_ ...";
`cp demac_dir/$_ .`;
if(2 == `make`) {
print "\n\t\t\tError in the file\n";
`cp backup/$_ .`;
print "reverting back to the original file and building the package again";
`make`;
}
else {#when successfully compiled
print "successfully compiled the package with file $_";
}
}
Этот сценарий выполняется до тех пор, пока я не получу «переработанный» файл с ошибками компилятора.Сценарий не может перехватить ошибку, возвращаемую make
я думаю.Или я что-то упустил.