Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: I need to export variable as another user

by aaron_baugher (Deacon)
on Aug 06, 2012 at 12:55 UTC ( #985697=note: print w/ replies, xml ) Need Help??


in reply to I need to export variable as another user

Aside from the many errors in your script, what you're trying to do won't work. A shell's environment is only passed to its child processes (if exported), not its parent or any siblings. So when you open a subshell with system in line 6 and set some environment variables for that subshell by running a couple of export commands, those variables go away as soon as that subshell closes and the system command returns. They will not be passed to the subshells started by your next two commands.

So you have a few options: only open one subshell, and talk to it with a two-way pipe. That could be done with a module like IPC::Open3, or a few other ways. You could also put your export commands in an file that's automatically sourced by your particular shell, but that would depend on your shell. Another (maybe simplest) option would be to set your environment variables within your Perl script by using the %ENV hash, so they can be inherited by any subshells. No need to try to export them in a dot-profile:

print 'Before setting: ', `echo \$MYVAR`; $ENV{MYVAR} = 'Howdy all!'; print 'After setting: ', `echo \$MYVAR`;

Aaron B.
Available for small or large Perl jobs; see my home node.


Comment on Re: I need to export variable as another user
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://985697]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2014-12-29 11:02 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (186 votes), past polls