Come posso impostare la variabile PATH di Windows da Perl?
-
21-08-2019 - |
Domanda
ho bisogno di impostare la variabile di un ambiente dall'interno Perl. Idealmente, ho bisogno di interrogare una variabile e poi cambiarlo se non è ciò che è richiesto. Nello specifico si tratta la variabile PATH voglio cambiare.
Come faccio a ottenere e impostare queste variabili?
Soluzione
Se avete bisogno di cambiare le variabili di ambiente a livello globale e permanente, come se si imposta nel pannello di controllo, allora dovete muck con il registro (update: e ora ci sono i moduli per fare questo, Win32 :: Env e Win32 :: :: Env Path ). Si noti che cambiando le variabili nel Registro di sistema e "trasmettere" il cambiamento non cambierà le variabili di ambiente in alcuni processi in corso, in particolare perl.exe e cmd.exe.
Se si vuole solo modificare il processo in corso (e processi figli in seguito deposto le uova), allora la variabile globale hash% ENV è ciò che si vuole (ad esempio $ ENV {PATH}). Vedere perldoc perlvar .
Altri suggerimenti
$ ENV {PATH}?
Tenga presente che le variabili di ambiente riguardano solo sottoprocessi, però. Non è possibile eseguire un programma Perl, modificare% ENV, e poi vedere che il cambiamento nel processo genitore -. L'ambiente non funziona in questo modo
È possibile farlo usando il %ENV
hash
$ENV{PATH} = 'C:\\Windows\;D:\\Programs';