내 perl 스크립트에는 모든 언어 일 수있는 UTF-8로 된 문자열이 제공됩니다. 각 단어의 첫 번째 문자와 대문자로 변환해야하는 단어의 나머지 문자를 대문자로 사용해야합니다. UTF-8 형식으로 텍스트를 그대로 두면서이 작업을 수행해야합니다. 텍스트는 라틴 문자 perl에서 UTF-8 텍스트의 단어 경계
$my_string =~ s/([\w']+)/\u\L$1/g;
포함 된 경우
다음은 내가이 UTF-8 문자열에서 일을 얻을 수있는 방법을 충분히 잘 작동하는 것 같다?
Perl에는 UTF-8 문자열이 없습니다. 그것은 유니 코드로 된 문자열을 가지고 있으며 바이트 단위의 바이트 문자열을 가지고 있습니다. 이미 작성한 내용은 Perl의 최신 버전에서 이미 잘 작동합니다. 'v5.14 사용하기 ','v5.14 사용하기', 또는 컴파일 유니트 상단의'unicode_strings "기능을 사용하여 제대로 작동하도록 만들 필요가 있습니다. 그러나 다른 것을 필요로하지 않아야합니다. – tchrist
감사합니다. 나는 아직도 사용하고있는 웹 서버가 5.8 perl을 가지고 있다고 언급하는 것을 잊어 버렸기 때문에 안타깝게도이 제안들 중 어느 것도 나에게 사용 가능하지 않다. – appleton