Где-нибудь вверху вашего скрипта, включите строку
use IPC::Open2;
Это будет включать необходимый модуль, обычно устанавливаемый с большинством дистрибутивов Perl по умолчанию. (Если у вас его нет, вы можете установить его с помощью CPAN.) Затем вместо open, позвоните:
$pid = open2($cmd_out, $cmd_in, 'some cmd and args');
Вы можете отправить данные своей команде, отправив ее в $ cmd_in, а затем прочитать вывод своей команды, прочитав из $ cmd_out.
Если вы также хотите иметь возможность читать поток команды stderr, вы можете вместо этого использовать модуль IPC :: Open3.