
.
.
.
.
|
 |
|
 |
21. Как не учитывать регистр в русском тексте? С английским регекспы с ключом i работают, а с русским - нет.
Hа UNIX'оподобных системах с корректной локализацией (FreeBSD, Linux на
glibc 2.1) это делается так:
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, 'ru_RU.KOI8-R');
(можно еще выставить переменную окружения export LANG=ru_RU.KOI8-R
тогда будет достаточно вызова use locale; в Perl-скрипте)
Под Windows это делается так:
use locale;
use POSIX qw (locale_h);
setlocale(LC_CTYPE, "Russian_Russia.1251"); # или "Russian_Russia.866"
С трансляцией АКА tr/XX/xx/ даже не используя use locale; можно так сделать:
tr/\xB3\xE0-\xFF/\xA3\xC0-\xDF/; # для KOI8-r
или
tr/\xA8\xC0-\xDF/\xB8\xE0-\xFF/; # для Windows-1251
или
tr/\xF0\x80-\x9F/\xF1\xA0-\xAF\xE0-\xEF/; # для CP-866<<- Как ими пользоваться?
->> Кто-нибудь может мне по-русски рассказать о операорах: ?:, ?!, ?= и т.д.и когда они используются?
Русский PERL programming FAQ. Часто задаваемые вопросы по программированию на perl [К списку статей] [К оглавлению]
|
 |
|
|
 |