|Just another Perl shrine|
Re: "NoNe SuCh" in perl core??by hossman (Prior)
|on Feb 15, 2005 at 23:59 UTC||Need Help??|
I've never noticed this before, but your post poked my curiousity, so I looked into it.
I can't explain what that environment variable is for, But I think I can explain why you are getting that in your logs.
According to some results i found when searching for "invalid character" and "exportstr", bash (or at least some versions of bash) will not allow you to have certain characters in the names of environment variables. if you try to set/export an variable with an invalid cahracter, you get a message like the one you posted (32 is SPACE)
I haven't been able to confirm this (because my version of bash doesn't seem to mind env variables with spaces in them) but i believe on the box you found this error:
The issue being that in perl you can happily set an environment variable with a space in the name (because it's just a hash) but when you go to exec a process (using sh, which is just bash) bash rejects that variable.
Based on the location of that my_setenv in perl.c, it looks like it only gets used when perl is embeded, and since you mentioned it was in your apache log, i would guess you are using mod_perl -- so my hunch is: you have a mod_perl script/handler which uses either backticks or system() to invoke an external app. When that happens, bash is complaining about this environment varaible.