Skip Navigation

Perl less that 5.8.8 required

Fedora Core 4

Fedora Core 5

Sign Up

If you sign up for an account on this web site you can customise elements of this site and subscribe to an email newsletter.

If you have an account on this web site you may login.

If you have an account on this site but have forgotten your user name and / or your password then you can request an account reminder email.

Perl less that 5.8.8 required

This bug was tracked down by Sam.

MKDoc does not work correctly distros with Perl 5.8.8 and Encode v2.18 — these cause errors as documented on the Fedora Core 5 page, this problems doesn't happen with older versions of Perl, see the Fedora Core 4 page for an attempt to generate the same error.

Workaround

Prior to a workaround being added to MKDoc code the only way to get around this problem on FC5 (and it might be the same on other distros) is to install a old version of perl in /usr/local/ and use this for MKDoc — it is not possible to install a RPM of an older version of Encode since this generates lots of errors like this:

file /usr/bin/enc2xs from install of perl-Encode-2.17-8 conflicts with file from package perl-5.8.8-5

Description

This is how Sam has described the problem:

It's a bug in the Encode module, which is a core Perl module used to do utf-8 encoding and decoding. Here's the behavior that MKDoc is relying on:

  $ perl -MEncode -MData::Dumper -e 'my $ref = Encode::decode_utf8({ foo =>
  1}); print Dumper($ref);'
  $VAR1 = {
'foo' => 1
};

That shows that Encode::decode_utf8 is passing a reference to a hash through un-mangled. That's what I get on my laptop, running Perl 5.8.6. However, here's what's happening on the machine that exhibits this problem:

$ perl -MEncode -MData::Dumper -e 'my $ref = Encode::decode_utf8({ foo =>
1}); print Dumper($ref);'
$VAR1 = 'HASH(0x9710c28)';

Now Encode::decode_utf8 is turning a hash into a stringified reference, causing the bug in MKDoc. That's Perl 5.8.8.

Sam has raised this at perlmonks see: http://perlmonks.org/?node_id=556003 and in the perl.unicode usenet group: http://www.nntp.perl.org/group/perl.unicode/3009 | http://groups.google.com/group/perl.unicode/browse_thread/thread/623802a9a29ca 220

Up

This document was last modified by Chris Croome on 2006-06-19 07:41:45
MKDoc Ltd., 31 Psalter Lane, Sheffield, S11 8YL, UK.
Copyright © 2001-2006 MKDoc Ltd.