Что ж, если вы только учитесь запускать внешние программы на Perl - сделайте себе одолжение и забудьте о ``.
Проблема с `` заключается в том, что вы выполняете строку с аргументами в ней - поэтому ее необходимо проанализировать. И это может привести к проблемам, когда параметры предоставляются пользователем.
Если вы на 100% уверены, что имеете полный контроль над параметрами и именем команды - вы можете использовать ``, но для любой другой ситуации - рассмотрите возможность использования IPC :: Run .
Это немного сложнее, но единственный факт, что он не требует разбор аргументов, гораздо лучше. Кроме того, у вас есть полный контроль над stdin, stdout и stderr исполняемой программы, включая присоединение к ним обратных вызовов!