Skip Menu |

This queue is for tickets about the Module-Install CPAN distribution.

Report information
The Basics
Id: 103164
Status: open
Priority: 0/
Queue: Module-Install

People
Owner: Nobody in particular
Requestors: david [...] coppit.org
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 1.14
Fixed in: (no value)



Subject: POD stripping leaves behind some POD, causing failures
I'm not super-sure where this bug should be filed. Module::Install strips POD from modules that it includes. Sort::Versions has POD that starts like this: =encoding utf-8 =head1 NAME In my inc/Sort/Versions.pm file, I see this at the end: =encoding utf-8 #line 159 1; When I run "perl Makefile.PL" on a Fedora 20 system, I get this failure: Sort/Versions.pm did not return a true value at inc/Module/Install/GetProgramLocations.pm line 13. (GetProgramLocations is an extension I wrote for Module::Install.) If I delete the =encoding line, the error goes away. It also goes away if I insert a =head 1 foo... =cut block. So it seems like Perl is treating the =encoding as the start of a POD block, ignoring the 1;. I don't know if this is a Perl bug, a Sort::Versions bug, or a Module::Install bug, but it seems to me that if the =encoding line was removed along with the rest of the POD, it would work as expected. I'm using a free Fedora 20 AMI in AWS for my testing. Below is a little system info. $ uname -a Linux ip-172-31-24-45 3.11.10-301.fc20.i686+PAE #1 SMP Thu Dec 5 14:12:06 UTC 2013 i686 i686 i386 GNU/Linux [fedora@ip-172-31-24-45 Mail-Mbox-MessageParser-1.5101]$ perl -v This is perl 5, version 18, subversion 4 (v5.18.4) built for i386-linux-thread-multi
On 2015-03-28 21:48:51, DCOPPIT wrote: Show quoted text
> I'm not super-sure where this bug should be filed. > > Module::Install strips POD from modules that it includes. > Sort::Versions has POD that starts like this: > > =encoding utf-8 > > =head1 NAME > > In my inc/Sort/Versions.pm file, I see this at the end: > > =encoding utf-8 > > #line 159 > > 1; > > When I run "perl Makefile.PL" on a Fedora 20 system, I get this > failure: > > Sort/Versions.pm did not return a true value at > inc/Module/Install/GetProgramLocations.pm line 13. > > (GetProgramLocations is an extension I wrote for Module::Install.) > > If I delete the =encoding line, the error goes away. It also goes away > if I insert a =head 1 foo... =cut block. So it seems like Perl is > treating the =encoding as the start of a POD block, ignoring the 1;. I > don't know if this is a Perl bug, a Sort::Versions bug, or a > Module::Install bug, but it seems to me that if the =encoding line was > removed along with the rest of the POD, it would work as expected. > > I'm using a free Fedora 20 AMI in AWS for my testing. Below is a > little system info. > > $ uname -a > Linux ip-172-31-24-45 3.11.10-301.fc20.i686+PAE #1 SMP Thu Dec 5 > 14:12:06 UTC 2013 i686 i686 i386 GNU/Linux > [fedora@ip-172-31-24-45 Mail-Mbox-MessageParser-1.5101]$ perl -v > > This is perl 5, version 18, subversion 4 (v5.18.4) built for i386- > linux-thread-multi
It seems that this line should also handle the "=encoding" Pod directive: https://metacpan.org/source/BINGOS/Module-Install-1.14/lib/Module/Install/Admin.pm#L147
Test::Differences also has =encoding utf8 The lack of proper pod stripping means these modules are unusable in the tests and the tests fail for modules that use both Module::Install and Test::Differences.