perl - 保存 Perl Windows 环境 key UPCASES

标签 perl hash key env

我有一个用 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/

相关文章:

C#/ASP.NET 替代 PERL .pl IIS 托管服务

perl - 如何将 PDL 图像转换为 GdkPixbuf

perl - 从哈希值生成组合

python - 将 redis 哈希转换为 python 字典?

c++ - 使用 std::tm 作为 std::map 中的键

Javascript, key 对值的总和

mongodb - 神秘的 Moo (Perl) 错误 "Attempt to bless into a reference at..."

php - MD5、密码散列和盐位

python - 纯 Python 中字符串的潜在哈希算法有哪些?

c# - 为什么字典键应该是不可变的?