Couldn't you do the same thing by reversing the ordering of your Directory entries...
> <Directory /usr/local/apache/cgi-bin/subdir> > PerlSetEnv VAR /usr/local/apache/cgi-bin/subdir > </Directory> > > <Directory /usr/local/apache/cgi-bin> > PerlSetEnv VAR /usr/local/apache/cgi-bin > </Directory> Rob At 1:08 AM +0900 10/5/01, YAMAMOTO Kengo wrote: >Hi, > >I rescently started to use mod_perl. It works fine, but a >strange behavior have found. I have written a patch that collect >the behavior. Please comment this. > >I think that per directory PerlSetEnv variable should be >overridden by the value that in the most specific(longest) ><Directory> section. > >http://localhost/cgi-bin/subdir/printenv with following config >will generate VAR="/usr/local/apache/cgi-bin/subdir", but >generated result is VAR="/usr/local/apache/cgi-bin". > > <Directory /usr/local/apache/cgi-bin> > PerlSetEnv VAR /usr/local/apache/cgi-bin > </Directory> > > <Directory /usr/local/apache/cgi-bin/subdir> > PerlSetEnv VAR /usr/local/apache/cgi-bin/subdir > </Directory> > > >Following patch corrects this behavior by modify overriding >logic. It seems work well. > > >--- mod_perl-1.26/src/modules/perl/perl_config.c.orig Thu Oct 4 >09:31:00 2001 >+++ mod_perl-1.26/src/modules/perl/perl_config.c Thu Oct 4 >09:32:04 2001 >@@ -183,7 +183,8 @@ > table_entry *elts = (table_entry *)arr->elts; > > int i; >- for (i = 0; i < arr->nelts; ++i) { >+ /* iterate in reverse order to override duplicate key properly */ >+ for (i = arr->nelts - 1; 0 <= i; --i) { > MP_TRACE_d(fprintf(stderr, "mod_perl_dir_env: %s=`%s'", > elts[i].key, elts[i].val)); > mp_setenv(elts[i].key, elts[i].val); > > >I'm not familar with mod_perl internals and community. Please >tell me relative topics, more appropriate place to send patch, >etc. > ># Make my English writing correct is also welcome :-) > >------------------------------------- >YAMAMOTO Kengo [EMAIL PROTECTED] -- "Only two things are infinite: The universe, and human stupidity. And I'm not sure about the former." --Albert Einstein