It is neither possible in unix.
When you run a batch script under Win32, or 'source' a shell script under
unix, you only have 1 process, and that process is executing commands,
which set _its_ env variables.

If your fork a child process (ie. start perl to execute the perl-script),
it can only change its own env, it cannot change the env of any other
processes (including its parent).


On Thu, 31 Jan 2002, Adriano Rodrigues Ferreira wrote:

>
> I thought it would be a good idea to replace a batch script
> (.bat) running on a Windows 2000 with a Perl script which
> is far more clever.
>
> The original batch file setted two environment variables
> which were available after running the script. That is,
> if I did
> c:> cvs-init.bat
>
> it has commands like
>      set CVSROOT=:pserver:user@aCVSserver:/usr/local/cvsroot
>
> and then I could verify
>
> c:> set CVSROOT
> CVSROOT=:pserver:user@aCVSserver:/usr/local/cvsroot
>
> To set environment variables in Perl, I first tried 'system' calls.
> They worked but the environment variables were reset to the
> previous values after the script ended.
>
> I tried the Env module. The same result.
>
> What it is missing is something to export the environment
> variables to the outer shell executing the Perl interpreter.
> Just like what is done in Unix by a command like
>
> $ . ./cvs-init.pl
>
> Is it possible in Win32?
>
> Best regards,
>
> Adriano.
>
>
>
>
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>

-- 
pozsy


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to