develooper Front page | perl.perl5.porters | Postings from July 2017

Re: [perl #131685] Rename utf8::is_utf8() (and other functions)

Thread Previous | Thread Next
From:
demerphq
Date:
July 4, 2017 11:32
Subject:
Re: [perl #131685] Rename utf8::is_utf8() (and other functions)
Message ID:
CANgJU+WJD+ELXjr_sJaf+FWh7eq2Don7yWHW0toyLZ1O=1OJKQ@mail.gmail.com
On 4 July 2017 at 13:14,  <pali@cpan.org> wrote:
> On Tuesday 04 July 2017 03:12:19 yves orton via RT wrote:
>> On 4 July 2017 at 12:04,  <pali@cpan.org> wrote:
>> > On Tuesday 04 July 2017 11:22:42 demerphq wrote:
>> >> No. This is a myth. Plain and simply a myth.
>> >>
>> >> People have a hard time accepting it, but the utf8 flag tells parts of
>> >> the internals to use different rules for certain operations, when set
>> >> those rules are Unicode. When the flag is not set the default rules
>> >> are derived from ASCII.
>> >>
>> >> You can see the difference in the following:
>> >>
>> >> "ba\x{DF}"=~/ss/i;
>> >
>> > $ perl -E 'say "matched" if "ba\x{DF}"=~/ss/i;'
>> > matched
>> >
>> >> "ba\N{U+DF}"=~/ss/i;
>> >
>> > $ perl -E 'say "matched" if "ba\N{U+DF}"=~/ss/i;'
>> > matched
>>
>> -E is not -e.
>>
>> -E is enabling a pragma which changes the default behavior.
>>
>> However it is *PRAGMA*. It is NOT the normal behavior of Perl.
>
> Ah, right. I forgot that -E enables feature unicode_strings which
> basically means that both examples were equivalent.
>
> Default behavior is a bit unpredicable as it is affected by the
> infamous Unicode Bug.

It is only unpredictable if your model of strings is broken. I happen
to be very familiar with the internals, and do not find the actual
rules to be that difficult to deal with.

cheers,
Yves


-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About