On Wed, 2002-07-31 at 21:33, Geoffrey Young wrote:
> 
> 
> simran wrote:
> 
> > Does that mean that 
> > 
> > $r->dir_config is not the same as $r->server->dir_config ?
> > 
> > A PerlUnsetVar would indeed be very handy... as would PerlUnsetEnv :-) 
> 
> I looked into implementing that the last time it came up but IIRC it 
> would take redoing the merge routines - from what I remember I got 
> PerlUnsetVar to work at conf parse time, but it ended up being 
> repopulated at request time when the directory merger ran (to merge 
> $r->server->dir_config and $r->dir_config I think).
> 
> calling unset() manually is probably your best bet.
> 

I wouldn't mind using that, except that it does not work for me... (i
have copied a part of the original message below as that got snipped...)

I have a situation where it is convinent for me to define a global
"PerlSetVar" in my httpd.conf and then unset it for particular virtual
hosts. 

I used to use the following configuration successfully:

----------------------------------------------------
httpd.conf
----------

<Perl>
  use Apache::Server;
  Apache->server->dir_config->unset("MyVar");
</Perl>

-----------------------------------------------------

That stopped working for me ever since we compiled 
Apache/1.3.26 (Linix - Debian) with mod_perl/1.27


Has anyone else had the same issue? 

On a similar note: 

The following pices of code do not work:

-----------------------------------------------------
code sample 1
--------------

1.  sub handler {
2.    my $r = instance Apache::Request(shift);
3. 
4.    $r->dir_config(MyVar => undef);
5.   
6.    $r->dir_config->unset("MyVar");
7.
8.    $r->dir_config->set(MyVar => undef);
9.
10. }
  

None of lines 4, 6 or 8 actually unset the variable. 

A collegue tells me that if a "true" value (for the key MyVar) is not
passed to set then it ends up returning the value of MyVar - but then
how i want to set the value of MyVar to be false. I would have though
that unset/set would have specifically done what i told them to
unset/set rather than do fancy things with truth values... 




Reply via email to