首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

[] PERL运行“Can't locate Win32/OLE.pm in @INC”

2013-10-01 
[求助] PERL运行“Can't locate Win32/OLE.pm in @INC”我在XP环境下,执行一个编译程序,其中的脚本处理

[求助] PERL运行“Can't locate Win32/OLE.pm in @INC”
我在XP环境下,执行一个编译程序,其中的脚本处理使用perl,perl文件中包含这么一句“use Win32::OLE qw(in);”,偶尔执行时就提示这个:
Can't locate Win32/OLE.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/msys /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .)

其他的perl程序运行正常。

出现这种情况时,我的操作是:先去XP的系统环境变量里面,把PTAH中的“C:\Perl\bin;”给移除掉,然后再来执行一次perl,这个时候肯定是提示perl没有安装。然后我就把“C:\Perl\bin;”给重新填到PTAH中,再关闭CMD,重新打开CMD,再执行perl,就正常了。

正常之后,我用一段时间(可能是几天之后,也可能是我下次开机),又提示这个错误。我很纳闷,为什么会这样?它明明能跑,为什么就是时不时的会给我来一下?

我在网上找了很多,也没太看懂,网上那些描述的,跟我的情况又不太一样。我试着重新卸载PERL之后再安装,结果还是这样。求高人指点迷津!

PERL
[解决办法]
看你的情况,应该是和你的操作系统的环境变量相关。
[解决办法]

引用:
我在XP环境下,执行一个编译程序,其中的脚本处理使用perl,perl文件中包含这么一句“use Win32::OLE qw(in);”,偶尔执行时就提示这个:
Can't locate Win32/OLE.pm in @INC (@INC contains: /usr/lib/perl5/5.8.8/msys /usr/lib/perl5/5.8.8 /usr/lib/perl5/site_perl/5.8.8/msys /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl .)


win32/OLE.pm是在上面列出的搜索路径中吗?
[解决办法]
c:\Perl\lib不在perl的@INC中,所以perl找不到该模块。不知道为什么你的设置时灵时不灵,但可以用下面的几种办法改变perl的搜索路径,确保C:\perl\lib包括在内:

1. 建立并设置环境变量PERL5LIB。这个办法对所有的脚本都有用,但它牵扯到环境变量,不知道会不会有同样的问题。

2. 作为perl的参数,不知道对你的应用来讲容不容易:

perl -I c:\Perl\lib myscript.pl

3. 在你的perl脚本文件开始加入,容易实现,但要单独改每个脚本:


use lib "C:\Perl\lib";
use Win32::OLE qw(in);
...

热点排行