Мне нужно установить переменную среды из Perl. В идеале мне нужно запросить переменную, а затем изменить ее, если это не то, что требуется. В частности, это переменная PATH, которую я хочу изменить.
Как получить и установить эти переменные?
Ответ 1
Если вам нужно изменить переменные окружения глобально и постоянно, как если бы вы установили его на панели управления, тогда вы должны гадать с реестром (обновление: теперь есть модули для этого, Win32:: Env и Win32:: Env:: Path). Обратите внимание, что изменение переменных в реестре и "трансляция" изменения не изменят переменные среды в некоторых текущих процессах, особенно perl.exe и cmd.exe.
Если вы просто хотите изменить текущий процесс (и впоследствии порожденные дочерние процессы), то глобальная переменная хэша% ENV - это то, что вы хотите (например, $ENV {PATH}). См. perldoc perlvar.
Ответ 2
$ENV {PATH}?
Имейте в виду, что переменные окружения влияют только на подпроцессы. Вы не можете запустить программу Perl, изменить% ENV, а затем увидеть это изменение в родительском процессе - среда не работает таким образом.