如何找到perl模块

时间:2015-12-17 04:38:29

标签: apache perl mingw msys

我在windows7 pro上使用perl5.8.8 for msys。

我使用这个perl作为CGI与Apache2.2 for windows。

我接受以下错误按摩..

Can't locate encoding.pm in @INC (@INC contains: 
   /usr/lib/perl5/5.8/msys
   /usr/lib/perl5/5.8
   /usr/lib/perl5/site_perl/5.8/msys
   /usr/lib/perl5/site_perl/5.8
   /usr/lib/perl5/site_perl/5.8
   /usr/lib/perl5/vendor_perl/5.8/msys
   /usr/lib/perl5/vendor_perl/5.8
   /usr/lib/perl5/vendor_perl/5.8
   .)

[添加换行符以提高可读性。]

这是我的代码

#!/opt/gnu/bin/perl
print "Content-type: text/plain; charset=iso-8859-1\n\n";
use encoding qw(utf8);

encoding.pm在C:\usr\lib\perl5\5.8\msys\Encode中,如果我从DOS提示符输入,则没有任何错误消息。

C:\usr\bin>perl -e 'use encoding qw(utf-8)
C:\usr\bin>

实际上\ usr下的lib是\ mingw \ msys \ 1.0的符号链接。\ lib

如何找到encoding.pm?

1 个答案:

答案 0 :(得分:2)

  

encoding.pm位于C:\ usr \ lib \ perl5 \ 5.8 \ msys \ Encode

该目录中的文件名为Encoding.pm(不是encoding.pm),它将是 Encode :: Encoding 模块,而不是编码模块。

所以听起来这个模块在你的系统上并不存在。这很奇怪,因为它带有Perl 5.8,但是再一次,你使用古老版Perl的古老港口。从好的方面来说,编码模块是双重生存的,因此无需重新安装所有Perl即可安装。在msys上如何做到这一点,我无法帮助你。

它不在你的系统上并不是一件坏事,因为你真的不应该使用那个模块;它的设计存在根本缺陷。但是,如果不知道你想要通过什么来实现它,我就无法告诉你应该使用什么。