В скрипте perl мне нужно вызвать простую программу, которая вычисляет psnr. Я делаю это следующим образом:
$psnr_command_line = '';
$psnr_command_line = "/snr file1 file2 width height"
После того, как я создал командную строку, я просто вызываю систему в perl:
$psnr_Y = system ($psnr_command_line);
В этом случае система возвращает 0, если команда успешно выполнена. Но мне нужно, чтобы что-то еще было сохранено в $ psnr_Y. Конечно, мне нужно фактическое значение psnr, которое было вычислено внутри программы.
Итак, до сих пор у меня есть следующее. Внутри простой программы snr я печатаю результат вычислений (в данном случае psnr), поэтому в командной строке после запуска сценария perl я получаю примерно следующее: P = 65535.000000 MSE = 304531.729854 PSNR = 41.493141dB
Iбродил, если как-то я могу получить значение PSNR в $ psnr_Y значение в Perl? Может быть, как-нибудь перенаправить печать в переменную perl, а потом просто разобрать эту строку, чтобы получить PSNR?
Есть идеи? Любые другие подходы приветствуются.
Спасибо.