Your skill will accomplish what the force of many cannot |
|
PerlMonks |
Re: Set shell environment variables from within a perl scriptby rovf (Priest) |
on May 05, 2008 at 17:06 UTC ( [id://684695]=note: print w/replies, xml ) | Need Help?? |
In the way you were doing it, the environment variable would be gone when the system() call ended (since it was set only in the subshell). You have (at least) two options:
This would also change the environment of your perl program itself, and would hence be propagated to all other child processes; most likely, this is what you want to do in the special case of CVSROOT, isn't it? The other possibility (assuming that you always shell out to bash, or ksh, or zsh), would go like this: Assume that you want to call an external program myprog with CVSROOT set to a special value, you could use This is useful if you want the change of the environment only for that particular call.
-- Ronald Fischer <ynnor@mm.st>
In Section
Seekers of Perl Wisdom
|
|