dom at happygiraffe.net
Fri Oct 8 00:13:15 PDT 2004
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
> 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.
> 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?
More information about the freebsd-current