Re: perl 5.8.5

From: Dominic Mitchell <dom_at_happygiraffe.net>
Date: Fri, 08 Oct 2004 08:12:42 +0100
Garance A Drosihn wrote:
> At 6:51 PM +0000 10/6/04, Ryan Newman wrote:
>> The biggest problem is that 5.8 defaults to unicode support which
>> ends up breaking a lot of complex applications.  I know that linux
>> has shifted from 5.6 to 5.8 and this has caused a lot of people
>> problems on the linux platform.

It's only really been RedHat that has caused problems, because RedHat 
somewhat prematurely set all the locales to be UTF-8 instead of 
ISO-8859-1 (aka Latin-1).

This combined with a feature of Perl 5.8.0, which sets up filehandles as 
being in UTF-8 by default if you're in a UTF-8 locale.  Unfortunately 
this caused a lot of problems.

In Perl 5.8.1 and newer, the UTF-8 locale is ignored.  To get UTF-8 
streams, you have to explicitly ask for them with -C.

In summary, this is not the problem you make it out to be.

Personally, I think it's all RedHat's fault for setting a non-"C" locale 
as the system default.  I hate that, it makes so much other stuff behave 
badly.

> Here at work we are in the process of upgrading some older Linux
> systems to a newer release of Redhat, and we have been nailed by
> these unicode-related bugs in perl, particularly with some regexp
> patterns.  In some cases this has caused a few scripts to fail
> in subtle ways, which is to say the script "succeeds" and claims
> everything went just fine, but the script didn't actually do what
> it was supposed to do, and what it had been doing for the past
> few years.  In at least some of those cases, I think these are
> BUGS in the way perl handles the expression, and not "unavoidable
> consequences of Unicode support".  That's just my opinion, though.

As mentioned above, RedHat in particular made life hard for their users. 
  This was definitely the case in RedHat 8 and 9.  I don't know about 
the newer Fedora Core releases, we've switched most of our Linux boxes 
to Debian now.

> I don't know if perl 5.8 on FreeBSD will cause the same issues.
> I have the impression that the default for unicode-handling can
> be changed on a system-wide basis (at least on Redhat), but I am
> not sure of the details.

As mentioned above, this is no longer the case since Perl 5.8.1[1].

> Even though I have hit some of these problems, I do think it is a
> good idea to make the change to 5.8 as part of FreeBSD 5.3-release.
> People should be taking a bit more time to check, cross-check, and
> re-check everything they are running if they are upgrading to
> 5.3-release from 4.x-release.

5.8.x has been stable Perl for over two years.  You really /should/ be 
using it if at all possible.  If not, then deinstall it and install your 
own Perl 5.004 package.  You did want old Perl, didn't you?

-Dom

[1] 
http://search.cpan.org/dist/perl/pod/perl581delta.pod#UTF-8_On_Filehandles_No_Longer_Activated_By_Locale
Received on Fri Oct 08 2004 - 05:13:15 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:16 UTC