On 5 January 2012 01:28, Father Chrysostomos <sprout@cpan.org> wrote:
>
> demerphq or Yves Orton or someone wrote:
>> > I am not sure if this has been pointed out before, and I have not
>> > actually checked, but I am reasonably confident that this is a
>> > (untested presumably) regression that was introduced somewhere in late
>> > 5.9 or so.
>>
>> Gah. Its not.
>
> It is:
>
> $ perl5.8.9 -le 'print chr(7) =~ /\L\N{U+7}/'
> 1
> $ perl5.10.0 -le 'print chr(7) =~ /\L\N{U+7}/'
>
>
> But a variation on the theme is not:
>
> $ perl -le 'print chr(7) =~ /\U\x{7}/'
>
> $ perl5.8.9 -le 'print chr(7) =~ /\U\x{7}/'
>
> $ perl5.8.1 -le 'print chr(7) =~ /\U\x{7}/'
>
> $ perl5.6.2 -le 'print chr(7) =~ /\U\x{7}/'
> Bus error
>
I spent some time last night looking into this last night and I am
willing to look further into and make an attempt at a solution.
In theory I don't think it should be hard, but perhaps that is a
little brave to say.
Although if anyone groks why in perl 5.8.5 /\U\x{...}/ uppercases the
\x{} but "\U\x{...}" does not, I am all ears. I didnt get to the
bottom of that yet.
BTW, it would incredibly useful if someone with a old perl farm
finding out the extent of this issue and how far it goes back.... And
for various different escapes...
cheers
Yves
--
perl -Mre=debug -e "/just|another|perl|hacker/"
Thread Previous
|
Thread Next