Description of problem: perl 18 in f21 works, but perl 20 in f22 doesn't. This program fragment is enough to trigger the error: #!/usr/bin/perl use utf8; use locale ':not_characters'; use open ':locale'; The error issued is: Can't locate encoding.pm in @INC (you may need to install the encoding module) (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at /usr/share/perl5/open.pm line 77. BEGIN failed--compilation aborted at ./test.pl line 4.
/usr/lib/perl5/PerlIO/encoding.pm exits, but /usr/lib/perl5/vendor_perl/encoding.pm doesn't on f22. On f21 (x86_64 instead of i686) both /usr/lib64/perl5/PerlIO/encoding.pm and /usr/lib64/perl5/vendor_perl/encoding.pm exist.
(In reply to Bruno Wolff III from comment #1) > > /usr/lib/perl5/PerlIO/encoding.pm exits, but > /usr/lib/perl5/vendor_perl/encoding.pm doesn't on f22. /usr/lib64/perl5/vendor_perl/encoding.pm is supplied by the perl-encoding package.
Thank you for the report. I was suspecting something like this could happen, but I could not recall which exact perl module triggers this. It's because `open' module requires various modules conditionally. We will fix it.
Minimal reproducer is: $ perl -e 'use open q{:locale}' I will sub-package the `open' module to make perl free from deprecated `encoding' with the Filter orchestra. Then installing `perl(open)' will ensure the `encoding' module is available.
The fix will be pushed into F23 after finishing perl-5.22 bootstrap.
perl-5.20.2-326.fc22 has been submitted as an update for Fedora 22. https://admin.fedoraproject.org/updates/perl-5.20.2-326.fc22
perl-5.20.2-326.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Implemented as perl-5.22.0-346.fc23 in Fedora 23.
This comment was flagged as spam, view the edit history to see the original text if required.