Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

How do I import Unix Specific Environment Var into CGI/Perl shell?

by Anonymous Monk
on Oct 13, 2000 at 00:55 UTC ( [id://36503]=perlquestion: print w/replies, xml ) Need Help??

Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

used Unix export to load dynamic environment variable into shell ; use 'env' command and tried to import into CGI/Perl Shell and failed. Why?

Originally posted as a Categorized Question.

Replies are listed 'Best First'.
Re: How do I import Unix Specific Environment Var into CGI/Perl shell?
by KM (Priest) on Oct 13, 2000 at 01:00 UTC
    You can do a few things. One of them is to add these things to the environment of the web user. Second, you can use the SetEnv (or PerlSetEnv if using mod_perl, and you want to) directive in your Apache config file (I assume you are on Apache, if not, check the server docs for your server).

    Cheers,
    KM

Re: How do I import Unix Specific Environment Var into CGI/Perl shell?
by Anonymous Monk on Oct 13, 2000 at 01:22 UTC
    Thanks, KM: But what if I want to 'dynamically' add to web server the Unix env var (say, the servername , database name and so on ) independent of the physical location of the program?
      Thanks, KM: But what if I want to 'dynamically' add to web server the Unix env var (say, the servername , database name and so on ) independent of the physical location of the program?

      Well, the servername shouldn't be dynamic :) And the servername is an environment variable provided by the web server by default. Again, you can add to the environment of the web user. I'm not sure why you would need something like a dynamic database name (I generally put my DB names in with a SetEnv like: SetEnv DB_MARKETING marketing .. since the name doesn't change).

      You could always create a module (maybe there is one, but I don't recall seeing it.. maybe I will write it tonight if I can find a reasonable use for it) which simply looks at a file with name/val pairs and imports them into the environment. I guess I just don't see any cases which this would be useful, but would love to hear of any :)

      Cheers,
      KM

        You could always create a module (maybe there is one, but I don't recall seeing it.. maybe I will write it tonight if I can find a reasonable use for it) which simply looks at a file with name/val pairs and imports them into the environment. I guess I just don't see any cases which this would be useful, but would love to hear of any :)

        I can't say that I'm 100% sure of what this person is looking to do, but from the above statement, I'd say take a look at dotsh.pl.

        Snippet:
        require "dotsh.pl"; $ENV{SHELL} = "/bin/sh"; if(-f "/some/file/to/source") { dotsh("/some/file/to/source") }
        This is similar to doing a
        $ . /some/file/to/source
        in Unix. Hope that's what you all were looking for. If so, I use this a bunch in order to pick up environments created by a source file that Tivoli uses, in order to set paths and the like.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2024-03-29 14:24 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found