Pregunta

Necesito establecer la variable de un ambiente de dentro de Perl. Lo ideal es que necesito para consultar una variable y luego cambiarlo si no es lo que se requiere. Concretamente se trata de la variable PATH quiero cambiar.

¿Cómo obtener y definir estas variables?

¿Fue útil?

Solución

Si es necesario cambiar las variables de entorno globalmente y de forma permanente, como si se establece en el panel de control, entonces usted tiene que lodo con el registro (actualización y ahora hay módulos de hacer esto, Win32 :: Env y Win32 :: Env :: Path ). Tenga en cuenta que el cambio de las variables en el registro y "difundir" el cambio no va a cambiar las variables de entorno en algunos procesos actuales, en particular perl.exe y cmd.exe.

Si lo que desea es cambiar el proceso actual (y los procesos secundarios generados posteriormente), entonces la variable global de hash% ENV es lo que quiere (por ejemplo, $ ENV {PATH}). Ver perldoc perlvar .

Otros consejos

$ ENV {PATH}?

Tenga en cuenta que las variables de entorno sólo afectan a los subprocesos, sin embargo. No se puede ejecutar un programa Perl, cambie% ENV, y luego ver que el cambio en el proceso padre -. El ambiente no funciona de esa manera

Puede hacerlo utilizando el hash de %ENV

$ENV{PATH} = 'C:\\Windows\;D:\\Programs';
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top