2013-08-06 2 views
5

Perl은 각 문자열의 각 문자의 ASCII 값을 비교하기 전에 하나의 값을 비교하거나 다른 방식으로 문자열을 비교합니까?Perl은 어떻게 문자열을 후드에서 비교합니까?

+1

로캘 및 데이터 정렬을 생각하면 매우 복잡 할 수 있습니다. http://perldoc.perl.org/perlop.html#Equality-Operators "lt", "le", "ge", "gt"및 "cmp"는 현재 로켈에서 지정된 정렬 (정렬) 순서를 사용합니다. 레거시 사용 로케일 (그러나 사용 로케일 ': not_characters')이 적용됩니다. perllocale을 참조하십시오. 유니 코드와 레거시 바이너리 인코딩을 함께 사용하지 마십시오. 표준 Unicode :: Collate 및 Unicode :: Collate :: Locale 모듈은 데이터 정렬 문제에 훨씬 더 강력한 솔루션을 제공합니다. – Thilo

+4

@Thilo 당신은 대답을 할 수 있습니까? – Taymon

답변

1

Perl does take your current locale into account이 로캘로 정의 된 정렬 순서를 사용합니다. 이것은 문자 세트 (예 : ASCII)를 고려할뿐만 아니라 언어도 포함합니다. 예를 들어 독일어는 독일어와 다른 언어보다 프랑스어로 정렬됩니다.

+0

질문자가 정렬에 대해 말하는 것이 아니라 간단한 $ foo eq $ 막대를 말하는 것으로 생각합니다. –

관련 문제