I have a framework written in Perl that sets up a bunch of environment variables to support inter-process communication (usually a subprocess). We store a set of key / value pairs in XML-ish files. We tried to make the key names of the camel case somethingLikeThis. It all works well.
We recently had to go through control (chaining) processes from Windows to UNIX. When we push the hash %ENVinto a file from Windows, the key somethingLikeThisbecomes somethingLikeThis. When a Unix process picks up a file and reloads the environment and looks at the value $ENV{somethingLikeThis}, it does not exist, since UNIX is case sensitive (on Windows, the same code works fine).
We have since returned and changed all the keys to UPPERCASE and solved the problem, but it was tiring and caused pain for users. Is there a way to force Perl to save the environment hash key character symbol on Windows?
Jeff hutton
source
share