Как отмечает MkV, IPC :: Run - лучшее решение. Используйте это, если возможно.
Если вы находитесь в неработающей среде, которая не позволяет устанавливать модули CPAN, непростой обходной путь - это взломать трубу с перенаправлением оболочки:
open my $fh, '-|', "convert \Q$jpg\E \Q$png\E 2>&1"
or die "Can't launch 'convert'";
... а затем прочитайте и проанализируйте $fh
в зависимости от ситуации. \Q
... \E
экранирует имена файлов и необходим во избежание проблем с именами файлов, которые содержат пробелы или другие метасимволы оболочки. Вы также должны использовать их с system()
, чтобы избежать тех же проблем.