Я использую Expect
в Perl, чтобы выполнить одну задачу. После отправки команды я ожидаю либо Success
, либо ERROR
в качестве вывода, в зависимости от того, что мне нужно для печати в файл, говоря, что он был успешным или неудачным.Как выполнить if-else в Perl Expect?
$exp->expect(30,
'-re', "Success", printf LOG "Successfully Deleted \n" => sub {exp_last;},
'-re', "ERROR", printf LOG "Error in Deletion \n",
);
LOG
- это дескриптор файла. Если я использую это, то даже если я получу Success
в качестве результата команды send
, выполняются регулярные выражения. В моем файле журнала я получаю
Error in Deletion
Successfully Deleted
Как это решить?
Hi Я только что изменил, что сказал. Но теперь происходит обратное. Сначала это печать успешно удалена, а затем она печатает ошибку в удалении в файле журнала. Я хочу, чтобы только один из них был в моем журнале. Если он соответствует успеху, то успешно удалено должно быть. Если он соответствует ERROR, тогда должна быть ошибка в удалении. :(:( – Raj
@shayam: вам нужно будет показать свой новый код, возможно, включая все, что есть в ожидании вызова – ysth
^^ Спасибо, журнал ysth. Он работает сейчас .. Большое спасибо .. – Raj