in reply to Re: How to execute commands in the same shell as Perl script
in thread How to execute commands in the same shell as Perl script

Hi All,

Thanks for all those interpretations and series of analysis of what i meant :) Sorry folks i was not clear then.

There are 2 Answers that i seek:

1) Actually what i meant is, does a child process in PERL has access to Parent process's env variables.

2) Can Child process change parent process's environment settings in PERL ?

I want a child process to run some commands and then change parent process's env settings. Is this possible in PERL ?

Please let me know if there is solution for this.

Thanks !

-bhag
  • Comment on Re^2: How to execute commands in the same shell as Perl script

Replies are listed 'Best First'.
Re^3: How to execute commands in the same shell as Perl script
by afoken (Chancellor) on Sep 16, 2011 at 17:15 UTC
    does a child process in PERL has access to Parent process's env variables

    Sigh. There ain't no PERL. The language is named Perl, and the executable that reads it is named perl.

    No, a child process can not access the environment of the parent, at least not in a portable way (i.e. without playing dirty tricks). Most of the times, the child process inherits a COPY of the environment, but in special cases, the childs environment may be manipulated by the parent before starting the child.

    Can Child process change parent process's environment settings in PERL ?

    No. This is the same question as before. Allowing that would be dangerous.

    I want a child process to run some commands and then change parent process's env settings.

    Make perl emit a shell script that can be sourced by the parent shell (after perl has exited) to change its environment. Or even better: Run the entire job from within Perl, so you don't have to mess with any shells.

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)