perl диапазон русских букв

Модератор: Модераторы разделов

Demimurych
Сообщения: 295

perl диапазон русских букв

Сообщение Demimurych »

Имеем файл /tmp/test
делаем
#. cat /tmp/test
stdout: <BR>анонс<BR>
#. perl -n -e 'if (/(<BR>)(анонс)(<BR>)/) {print "$2\n";}' /tmp/test
stdout: анонс
#. perl -n -e 'if (/(<BR>)([а-я]*)(<BR>)/) {print "$2\n";}' /tmp/test
stdout:
#. perl -n -e 'if (/(<BR>)([а-я,с]*)(<BR>)/) {print "$2\n";}' /tmp/test
stdout: анонс

То есть если я задаю диапазон русских букв видом [a-я] то слово не попадает. Если добавляю еще букву "c" то слово попадает

Буквы точно все везде русские. Кто нибудь мне расталкует в чем моя беда.
perl-5.8.5-9




Demimurych добавил в 12.08.2005 14:09

В догонку
проврял в двух локаля koi и utf
один и тотже результат
Спасибо сказали:
vadiml
Сообщения: 446
ОС: fc12.x86_64

Re: perl диапазон русских букв

Сообщение vadiml »

посмотри порядок расположения букв в таблицах символов - в cp1251 у меня проблем не возникло (и в linux'е, и в win/ActivePerl)
phenom x4 905e, asus m4a79 deluxe, 4 gb, ati x550, ati 4350, 2 x 17" LCD
Спасибо сказали:
Аватара пользователя
Cap. J2A
Сообщения: 300

Re: perl диапазон русских букв

Сообщение Cap. J2A »

для koi8-r нужно указывать [ё-ь]
Debian GNU/Linux 3.1 2.6.12-1-k7 на AXP1700+/nF2/Radeon 9600 (debsmart)
Debian GNU/Linux 3.1 2.6.15.1 на hp compaq nx9020 (moby)
:Wq
E492: Not an editor command: Wq
Спасибо сказали:
Ananas
Сообщения: 64

Re: perl диапазон русских букв

Сообщение Ananas »

добавь use locale
Спасибо сказали: