[Moscow.pm] unicode & regexp

Victor Efimov victor на vsespb.ru
Чт Май 22 13:09:58 PDT 2014


Всякие эти модули и советы типа "какие 10 прагм включить чтобы с
unicode было всё ок" делают разбор полётов только сложнее
utf8::all пытается интерпретировать @ARGV как символы, хотя это
бинарные данные (и делает это глобально, что может вызвать проблемы во
всяких getopts модулях), пытается интерпретировать имена файлов как
символы, хотя в linux это бинарные данные, это есть, но не
документировано
https://github.com/doherty/utf8-all/commit/bc37b2a3dc73332c587c195cb119a0450aa36afa


22 мая 2014 г., 23:27 пользователь Stanislaw Pusep
<creaktive на gmail.com> написал:
> Вместо:
>
> use utf8;
>
> Пишем:
>
> use utf8::all;
>
> Почему?
>
> https://metacpan.org/pod/utf8::all
>
> четверг, 22 мая 2014 г. пользователь Алексей Мышкин написал:
>
>> Всем доброго дня.
>> Есть такой код:
>> #!/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
>> --
>> С уважением,
>> Мышкин Алексей.
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


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