-
Notifications
You must be signed in to change notification settings - Fork 55
Description
Any execution of perl 5.38 with a UTF-8 language set results in
~/Downloads/strawberry-perl-5.38.0.1-64bit-portable/perl/bin/perl -v | head -2
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LC_ALL = (unset),
(possibly more locale environment variables)
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the system default locale ("English_United Kingdom.1252").
This is perl 5, version 38, subversion 0 (v5.38.0) built for MSWin32-x64-multi-thread
it's not quite clear what languages are supported and installed on my system, and why this is only an issue now.
There's a few locale related things in 5.38, which it appears to be related to:
https://perldoc.perl.org/perl5380delta#Locale-category-LC_NAME-now-supported-on-participating-platforms
https://perldoc.perl.org/perl5380delta#Changes-to-%22thread-safe%22-locales
though I've no idea which.
Codepage is 850, but there's no difference if I set it to 65001 either.
Happens in both powershell and msys, and with either of LANG
& LC_NAME
- which would definitely suggest that it's perl at fault rather than MSYS / powershell.
There is a workaround, but it's hacky:
$ PERL_BADLANG=0 ~/Downloads/strawberry-perl-5.38.0.1-64bit-portable/perl/bin/perl -v | head -2
This is perl 5, version 38, subversion 0 (v5.38.0) built for MSWin32-x64-multi-thread
No issues with 5.32 or 5.36.
This feels related to, but distinct from, #119 . I have tried 5.38.0.2, it had no effect.