У меня есть фреймворк, написанный на Perl, который устанавливает кучу переменных среды для поддержки взаимодействия между процессами (обычно это подпроцесс). Мы храним набор пар ключ/значение в файлах XML-ish. Мы постарались сделать ключевые имена верблюжьей кейс somethingLikeThis
. Все это хорошо работает.Сохранение ключей среды Windows на Perl UPCASES их
Недавно нам довелось пройти контрольные (цепочечные) процессы из Windows в UNIX. Когда мы выплескиваем хэш-файл %ENV
в файл из Windows, ключ somethingLikeThis
становится SOMETHINGLIKETHIS
. Когда процесс Unix подбирает файл и перезагружает среду и ищет значение $ENV{somethingLikeThis}
, он не существует, поскольку UNIX чувствителен к регистру (со стороны Windows тот же код работает нормально).
С тех пор мы вернулись и изменили все ключи на UPPERCASE и решили проблему, но это было утомительно и вызвало боль для пользователей. Есть ли способ заставить Perl в Windows сохранить характерный характер ключей хэша среды?