Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re: How to get environment variables into a mod_perl handler at compile-time?

by InfiniteSilence (Curate)
on Feb 07, 2012 at 00:03 UTC ( #952186=note: print w/replies, xml ) Need Help??


in reply to How to get environment variables into a mod_perl handler at compile-time?

PerlSetVar doesn't make an environment variable. It makes a value retrievable via the mod_perl API. See dir_config in the mod_perl docs.

Celebrate Intellectual Diversity

  • Comment on Re: How to get environment variables into a mod_perl handler at compile-time?

Replies are listed 'Best First'.
Re^2: How to get environment variables into a mod_perl handler at compile-time?
by mcdave (Beadle) on Feb 07, 2012 at 03:47 UTC
    Thanks for this. It's not what I ended up with, but it was educational. I was puzzled about how to use dir_config at compile-time, but now I've learned about Apache::ServerUtil so that's nice.

    The thing that kept me from using this is that, although I could get some particular value into the script, I couldn't get the environment variable down there. If I added

    PerlSetVar ORACLE_SID production
    in the Apache configuration with my handler, I could add
    if( $ENV{'MOD_PERL'} } ) { require 'Apache2::ServerUtil' ; my $s = Apache2::ServerUtil->new ; $ENV{'ORACLE_SID'} ||= $s->dir_config('ORACLE_SID') ; }
    before the set_db call and thing would basically work. But I couldn't figure out how to pull ORACLE_SID from the environment.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (11)
As of 2016-09-30 17:00 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Extraterrestrials haven't visited the Earth yet because:







    Results (570 votes). Check out past polls.