Yes I think it's more complicated.

I don't have the original setup that caused my problem, but i'm pretty sure I found
that if I set a mixed-case env var (say 'MyEnv_Var') with SetEnv, in my mod_perl
app I got the variable set (exists == true) but with no value, whereas using PerlSetEnv
with the same variable name, I got the value in %ENV but the var name was uppercased.


At the moment i have just worked around the problem by using SetEnv but with an
all uppercase varaible name.


Regards; Colin
Randy Kobes wrote:

On Wed, 2 Feb 2005, Stas Bekman wrote:



Randy Kobes wrote:
[...]


So the behaviour of SetEnv changed from Apache-1 to
Apache-2, as far as Win32 case goes, while PerlSetEnv
maintained the same behaviour from mp1 to mp2.

I suppose one could argue that we should change
PerlSetEnv under mp2 to lower-case things, so as
to be consistent with SetEnv?


I think yes. I'm sure you have a patch already :)



Actually, things are a bit more complicated on mp2 than I thought ... The example I gave earlier had 2 SetEnv/PerlSetEnv directives, differing in case, which is a bit artificial. If there's just one such directive, then both SetEnv/PerlSetEnv seem to behave normally (taking into account that, on Windows, $ENV{FOO} and $ENV{foo} are the same). However, there does seen to be a problem (with SetEnv) when it's all lower-case SetEnv foo bar in that $ENV{foo} doesn't seem to get set (irrespective of the case of "foo". There's still a difference between PerlSetEnv and SetEnv, but I don't see the pattern yet; I'll keep looking.






Reply via email to