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.