在Perl中使用二进制语言环境

时间:2011-06-03 20:13:50

标签: perl locale collation

出于某种原因,对我来说,Perl正在进行字符串比较

if ("hãt" eq "hat")

评估为true。我认为这是因为我在代码中的某个地方使用了错误的语言环境,但我不确定它在哪里(它是一个很大的堆栈,我不知道如何确定语言环境)。

有没有办法可以使用二进制排序规则或类似方法强制进行比较,以便上面的计算结果为false?

1 个答案:

答案 0 :(得分:0)

Perl默认为“C”语言环境,除非在您的环境中设置了诸如LC_ALL之类的语言环境变量,其中cse可以像这样强制它:

use POSIX;
setlocale(LC_ALL, "C");