Package: perl
Version: 5.24.1-3+deb9u2
Severity: normal

Dear Maintainer,
this optimization has bitten me once again, so I report this as a bug... 

Run the code: 

#!/usr/bin/perl -CSDA
use utf8; 
use strict; 
use warnings; 
my %h; 
$h{'Góry'} = 1; 
'Góry' =~ /\A[[:alnum:]]*\z/ or die "error 1"; 
for (keys %h) { 
    $_ =~ /\A[[:alnum:]]*\z/u or die "error 2"; 
}
for (keys %h) { 
    $_ =~ /\A[[:alnum:]]*\z/ or die "error 3"; 
}


It prints error 3. This means that perl somehow degrades utf string to
bytes in keys of hases. 

Was discussed here also: 

http://www.perlmonks.org/?node_id=1197369


-- System Information:
Debian Release: 9.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.9.0-6-amd64 (SMP w/4 CPU cores)
Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8), 
LANGUAGE=pl_PL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages perl depends on:
ii  dpkg               1.18.24
ii  libperl5.24        5.24.1-3+deb9u2
ii  perl-base          5.24.1-3+deb9u2
ii  perl-modules-5.24  5.24.1-3+deb9u2

Versions of packages perl recommends:
ii  netbase  5.4
pn  rename   <none>

Versions of packages perl suggests:
pn  libterm-readline-gnu-perl | libterm-readline-perl-perl  <none>
pn  make                                                    <none>
pn  perl-doc                                                <none>

-- no debconf information

Reply via email to