Подтвердить что ты не робот

Как установить переменную Windows PATH из Perl?

Мне нужно установить переменную среды из Perl. В идеале мне нужно запросить переменную, а затем изменить ее, если это не то, что требуется. В частности, это переменная PATH, которую я хочу изменить.

Как получить и установить эти переменные?

4b9b3361

Ответ 1

Если вам нужно изменить переменные окружения глобально и постоянно, как если бы вы установили его на панели управления, тогда вы должны гадать с реестром (обновление: теперь есть модули для этого, Win32:: Env и Win32:: Env:: Path). Обратите внимание, что изменение переменных в реестре и "трансляция" изменения не изменят переменные среды в некоторых текущих процессах, особенно perl.exe и cmd.exe.

Если вы просто хотите изменить текущий процесс (и впоследствии порожденные дочерние процессы), то глобальная переменная хэша% ENV - это то, что вы хотите (например, $ENV {PATH}). См. perldoc perlvar.

Ответ 2

$ENV {PATH}?

Имейте в виду, что переменные окружения влияют только на подпроцессы. Вы не можете запустить программу Perl, изменить% ENV, а затем увидеть это изменение в родительском процессе - среда не работает таким образом.

Ответ 3

Вы можете сделать это, используя хеш %ENV

$ENV{PATH} = 'C:\\Windows\;D:\\Programs';