Я думаю, вы не хотите или не нуждаетесь в локалях для этого, но, скорее, в Юникоде. Если вы расшифровали текстовую строку, \w
будет соответствовать символам слова на любом языке, \d
соответствует не просто 0..9
, но каждой цифре Unicode и т. Д. В регулярных выражениях вы можете запрашивать свойства Unicode с помощью \p{PropertyName}
. Особенно интересным для вас может быть \p{Print}
. Вот список всех доступных свойств символов Unicode .
Я написал статью об основах и тонкостях Unicode и Perl , она должна дать вам хорошее представление о том, что делать, чтобы Perl распознавал вашу строку как последовательность символов, а не просто последовательность байтов.
Обновление: с Unicode вы не получаете зависимое от языка поведение, но вместо этого вменяемые значения по умолчанию независимо от языка. Это может быть, а может и не быть тем, что вы хотите, но из-за различий в качестве символа для управления / контроля я не понимаю, почему вам нужно поведение, зависящее от языка.