我有一个用 Perl 编写的框架,它设置了一堆环境变量来支持进程间(通常是子进程)通信。我们在 XML-ish 文件中保存一组键/值对。我们尝试将键名命名为 camel-case somethingLikeThis
。这一切都很好。
最近我们有机会将控制(链)进程从 Windows 传递到 UNIX。当我们从 Windows 将哈希值吐出%ENV
到文件时,somethingLikeThis
密钥变为SOMETHINGLIKETHIS
. 当 Unix 进程获取文件并重新加载环境并查找它的值时,$ENV{somethingLikeThis}
它的值不存在,因为 UNIX 区分大小写(从 Windows 端来看,相同的代码可以正常工作)。
此后我们返回并将所有键更改为大写并解决了问题,但这很乏味并给用户带来了痛苦。有没有办法让 Windows 上的 Perl 保留环境哈希键的字符大小写?