perl имеет стандартные средства, такие как system () (выполнение команды в subshell) и exec () (выполнение команды, заменяющей выполняемый процесс). Другие средства обработки процессов находятся в пространстве имен Win32 ::. Я не вижу причин, по которым вы не сможете запускать команды Msbuild, используя комбинацию вышеупомянутых средств.
Вам придется манипулировать средой команды с помощью хитрости, аналогичной той, которую вы используете, или вы можете получить желаемый эффект, просто манипулируя средой процесса perl (путем доступа к% ENV).