[Moscow.pm] unicode & regexp

Victor Efimov victor на vsespb.ru
Чт Май 22 05:48:34 PDT 2014


Я думаю смогу объяснить подробно что и почему, про все нюансы. Но я же
говорю - не понятно что должно происходить. Выводит в обоих случаях
что-то непонятное.

22 мая 2014 г., 16:41 пользователь Алексей Мышкин <parserpro на gmail.com> написал:
> Это не объяснение. Символ-то почему режется?
> Ладно бы на "широкий символ" ругнулось - это понятно. Но почему строка
> выводится не целиком - вот вопрос.
>
>
> 22 мая 2014 г., 16:26 пользователь devrow на gmail.com <devrow на gmail.com>
> написал:
>
>>
>> http://stackoverflow.com/questions/6162484/why-does-modern-perl-avoid-utf-8-by-default/6163129#6163129
>>
>>
>> On 22.05.2014 15:24, Алексей Мышкин wrote:
>>>
>>> А объяснить?
>>>
>>>
>>> 22 мая 2014 г., 15:16 пользователь Antonio Nikishaev <a на lelf.me
>>> <mailto:a на lelf.me>> написал:
>>>
>>>
>>>
>>>     On 22 May 2014, at 14:58, Алексей Мышкин <parserpro на gmail.com
>>>     <mailto:parserpro на gmail.com>> wrote:
>>>
>>>      > Всем доброго дня.
>>>      > Есть такой код:
>>>      > #!/usr/bin/env perl
>>>      > use strict;
>>>      > #use utf8;
>>>      >
>>>      > my $BadChars = quotemeta '№«».,';
>>>      >
>>>      > my $BadCharsRX = qr/$BadChars/u;
>>>      >
>>>      > my $str = '... «»«»';
>>>      >
>>>      > $str =~ s/([$BadCharsRX])[$BadCharsRX]+/$1/g;
>>>      >
>>>      > print "$str\n";
>>>      > =====cut=====
>>>      >
>>>      > выдаёт ахинею
>>>      > если сделать так:
>>>      >
>>>      > my $str = '... №№№ «»«»';
>>>      > то начинает работать.
>>>      >
>>>      > Что за чёрт?
>>>      >
>>>      > Perl v5.14.2
>>>
>>>     Писать надо нормально. Всё будет работать
>>>
>>>     use utf8;
>>>     use open qw<:std :utf8>;
>>
>> --
>> Moscow.pm mailing list
>> moscow-pm на pm.org | http://moscow.pm.org
>
>
>
>
> --
> С уважением,
> Мышкин Алексей.
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


Подробная информация о списке рассылки Moscow-pm