我有一个用 Perl 编写的框架,它设置了一堆环境变量来支持进程间(通常是子进程)通信。我们在类似 XML 的文件中保留一组键/值对。我们试图让键名采用驼峰式 somethingLikeThis
。这一切都很好。
最近我们有机会将控制(链)进程从 Windows 传递到 UNIX。当我们从 Windows 将 %ENV
散列输出到文件时,somethingLikeThis
键变为 SOMETHINGLIKETHIS
。当 Unix 进程拾取文件并重新加载环境并查找 $ENV{somethingLikeThis}
的值时,它不存在,因为 UNIX 区分大小写(从 Windows 端看,相同的代码工作正常) .
我们已经回过头来将所有键更改为大写并解决了问题,但这很乏味并且给用户带来了痛苦。有没有办法让 Windows 上的 Perl 保留环境哈希键的字符大小写?
最佳答案
我相信您会发现 Windows 环境变量实际上是不区分大小写的,因此键都是大写的,以避免混淆。 这样,没有任何区分大小写概念的 Windows 脚本就可以使用与其他所有内容相同的变量。
关于perl - 保存 Perl Windows 环境 key UPCASES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923/