![]() |
|
Clear questions and runnable code get the best and fastest answer |
|
PerlMonks |
Re^5: system ( "source $script" )by Anonyrnous Monk (Hermit) |
on Jan 28, 2011 at 22:16 UTC ( [id://884942]=note: print w/replies, xml ) | Need Help?? |
Does perl have something analogous to the shell's source? Not for shell code, as shell code needs to be interpreted by a shell (likewise, a shell cannot run Perl code). As for "the shell which the Perl script is running in", Perl is started from a shell, but it's a separate subprocess, so strictyl speaking, the Perl script is not running "in" a shell. This means the same child-parent restrictions apply, i.e. the Perl script (nor any further child processes started from it) cannot set the environment of its parent shell. Update: maybe this clarifies it somewhat. When you run something from the command line, for example
you see child-parent relationships as follows (indenting means "child of")
All those are separate processes created via fork/exec, and no child is able to manipulate the environment of its respective parent process. But it does inherit the environment of its parent.
In Section
Seekers of Perl Wisdom
|
|