Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^2: Source command in perl script

by bannaN (Acolyte)
on Oct 20, 2011 at 09:08 UTC ( #932592=note: print w/replies, xml ) Need Help??

in reply to Re: Source command in perl script
in thread Source command in perl script

Have the script like this?
`/bin/sh /home/db2inst1/sqllib/db2profile`; system("db2 terminate");
If i try to run something like this, the db2 command will not be recognized.
Error: "Can't exec "db2": No such file or directory"

So if i understood you correctly that doesnt work for some reason. As you may have understood i am not that into the logic of how different shells acquire their environment, and pass it on.
Am i right in the assumption that the system command will fork and inherit the environment from the perl script?
If i am, the question still stands, how can i make the perl script acquire the db2 environment

Replies are listed 'Best First'.
Re^3: Source command in perl script
by Utilitarian (Vicar) on Oct 20, 2011 at 09:32 UTC
    A parent process cannot inherit from a process it spawns.

    You can however set the environment within the Perl script and then the system call will inherit it or you could run the db2profile scipt prior to running the Perl script and then everything would inherit it.

    Rewriting as Perl

    $ENV{PATH}="$ENV{PATH}:/opt/db2/bin" ...
    Or calling everything from a shell script...
    #!/bin/sh . /home/db2inst1/sqllib/db2profile /home/db2instl/bin/ # Or whatever the script is called

    print "Good ",qw(night morning afternoon evening)[(localtime)[2]/6]," fellow monks."
Re^3: Source command in perl script
by Anonymous Monk on Oct 20, 2011 at 10:00 UTC

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://932592]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2018-03-25 01:59 GMT
Find Nodes?
    Voting Booth?
    When I think of a mole I think of:

    Results (299 votes). Check out past polls.