Gary Yang has asked for the wisdom of the Perl Monks concerning the following question:

I use pp to encrypt the code.
pp -f Crypto -F Crypto -M Filter::Crypto::Decrypt -o run run.pl

pp --version
PAR Packager, version 1.012 (PAR version 1.005)

perl -v
This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-thread-multi
(with 1 registered patch, see perl -V for more detail)

uname –a
Linux 2.6.18-274.7.1.el5.centos.plusxen #1 SMP Thu Oct 20 20:15:26 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux

When I execute ./run, I got Unknown PerlIO layer "encoding" at script/run.pl line 981. Below are the code related to this error. I guessed the “Unknown PerlIO layer” might related to the line 980, binmode STDOUT, ":encoding(UTF-8)". But, I do not know how to fix it. Can someone help?
Note: I do not get "Unknown PerlIO layer" when I execute run.pl directly.

980 binmode STDOUT, ":encoding(UTF-8)"; 981 print <<FOUND3; 982 </tbody> 983 </table> 984 </td> 985 <td class="regularText" style="width: 200px; vertic +al-align: top; text-align:center; padding-left:10px; padding-t op +:20px"> 986 <table border="0" cellpadding="0" cellspacing="0 +" width="100%"> …… 1018 </td> 1019 </tr> 1020 </tbody> 1021 </table> 1022 </center> 1023 </body> 1024 </html> 1025 FOUND3

Replies are listed 'Best First'.
Re: Unknown PerlIO layer "encoding" at script/run.pl line 981
by ikegami (Patriarch) on Dec 05, 2011 at 08:04 UTC
    The encoding layer is implemented in PerlIO::encoding. You'll need to include that in your package.

      It works. Thank you!

Re: Unknown PerlIO layer "encoding" at script/run.pl line 981
by Anonymous Monk on Dec 05, 2011 at 07:50 UTC