develooper Front page | perl.perl5.porters | Postings from January 2019

[perl #133782] length($^R) sometimes wrong

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
January 19, 2019 14:39
Subject:
[perl #133782] length($^R) sometimes wrong
Message ID:
rt-4.0.24-14345-1547908752-903.133782-15-0@perl.org
On Sat, 19 Jan 2019 13:45:44 GMT, haukex@zero-g.net wrote:
> Hi everyone,
> 
> This oneliner fails, when it most likely shouldn't:
> 
>   perl -e 'while( "\N{U+E4}bc" =~ /(..?)(?{$^N})/g )
>            { length($^R)==length("$^R") or die }'
> 
> A slightly longer test program (attached) shows that on the second 
> iteration, length($^R) is reporting 2 instead of the expected 1. It 
> seems to have something to do with UTF8 strings, since it works fine on 
> non-UTF8 strings.
> 
> Tested on several versions of Perl on Linux and Windows (down to 5.8.9).
> 
> Regards,
> -- Hauke D

With a slightly rewritten -- but possibly incorrectly rewritten -- version of your longer program, I get different results.  See attachment.


-- 
James E Keenan (jkeenan@cpan.org)

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=133782

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