printing $! when open.pm sets utf8 default on filehandles yields garbage #12035
Comments
From doherty@cpan.orgCreated by doherty@cpan.orgIf your locale is set to something like ru_RU.UTF-8, then the following use strict; unless (IO::Socket::INET->new("localhost:1111")) { Or another example: perl -CS -MErrno -le '$!=Errno::ETIMEDOUT; print $!' This was originally reported as a bug against the utf8::all module, Perl Info
|
From @jkeenanOn Mon Apr 02 19:36:07 2012, doherty@cpan.org wrote:
Looks like it's missing a closing parenthesis: use open qw(:std :encoding(UTF-8)); |
The RT System itself - Status changed from 'new' to 'open' |
From @cpansproutOn Mon Apr 02 19:36:07 2012, doherty@cpan.org wrote:
There has been some discussion about making syscalls work properly with -- Father Chrysostomos |
From @LeontOn Tue Apr 03 13:00:37 2012, sprout wrote:
The problem is not in any syscall but in locale handling. The problem is Leon |
From @cpansproutOn Tue Apr 03 13:50:43 2012, LeonT wrote:
I was just wondering whether it could be made part of the same pragma. -- Father Chrysostomos |
From @jmdhCreated by @jmdhAs reported in Debian's bugtracker at Quoting from Joey on the bug report: " It's possible to work around the problem with the encoding pragma, but joey@kodama:~>LANG=fr_FR.UTF-8 perl -e 'use open qw{:utf8 :std}; use encoding 'utf8';open(foo) || print STDERR "error: $!\n";' joey@kodama:~>LANG=fr_FR.UTF-8 perl -e 'use open qw{:utf8 :std}; use encoding 'utf8';open(foo) || print STDERR "error: ",$!,"\n";' The first example works because the encoding pragma converts the string The only solution if you want to use open qw{:utf8 :std} in a program The test in question no longer works on my Debian system, because Perl Info
|
From @LeontOn Mon Apr 01 10:42:44 2013, dom wrote:
This bug is a duplicate of #112208. The return value of sterror(3) is Leon |
The RT System itself - Status changed from 'new' to 'open' |
From @jmdhOn Mon, Apr 01, 2013 at 10:54:48AM -0700, Leon Timmermans via RT wrote:
Aha! Thanks, merged. Dominic. -- |
From @khwilliamsonFixed by commit 1500bd9 |
@khwilliamson - Status changed from 'open' to 'resolved' |
From @khwilliamsonThe fix for this had to be reverted for v5.20, because it caused problems for other modules. There is a new plan to fix this for v5.22, and I'm adding this ticket to the blockers for 5.21.1 -- |
@khwilliamson - Status changed from 'resolved' to 'open' |
From @khwilliamsonThis is now fixed again in blead via commit |
@khwilliamson - Status changed from 'open' to 'pending release' |
From @khwilliamsonThanks for submitting this ticket The issue should be resolved with the release today of Perl v5.22. If you find that the problem persists, feel free to reopen this ticket -- |
@khwilliamson - Status changed from 'pending release' to 'resolved' |
Migrated from rt.perl.org#112208 (status was 'resolved')
Searchable as RT112208$
The text was updated successfully, but these errors were encountered: