Ваша подпрограмма никогда не вызывается, потому что она скрывает существующую функцию Perl exec
.Вместо этого, когда вы вызываете exec()
, он работает с реальным exec
, и, поскольку вы не передали ему никаких параметров, он ничего не делает.
Поскольку ваша сабвуфер вызывает exit(0)
, вы также можете отказаться от своегоподпрограмму и назовите реальный exec
как этот, который будет делать то же самое
exec("cmd cmd_args 2>&1");