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?

È stato utile?

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';
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top