从官网下载完Active Perl5.10安装完后,写了很简单的Perl脚本,仅引用了一个文件拷贝模块,调用Perl解释器来运行程序的时候,报了一堆错,先是一个弹出框提示‘无法启动此程序,计算机丢失Perl58.dll’,点击确定后报出错误信息:Can't load 'D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-threa d/auto/File/Glob/Glob.dll' for module File::Glob: load_file:找不到指定的模块。 a t D:\oracle\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/XSLoader .pm line 68.
从上述信息很明显,应该是早前安装的Oracle与新装的Perl冲突了,而且冲突是因为Oracle在安装的时候往我们系统中添加了一个Perl5Lib的环境变量,而这个环境变量指向的则是Oracle安装目录下那个模块不全的Perl,从信息提示可以知道为Oracle Home/perl目录。
知道了错误原因,那么改的方法就多了去了:
1、经常与Oracle打交道而偶尔玩下perl的一类朋友:
如果是这样的话,建议就不要对环境变量Perl5Lib动手了。在运行Perl命令之前,设置下当前命令行窗口的临时Perl5Lib变量就可以了。如笔者的Perl10安装在G盘根目录下,则在运行Cmd后,使用命令Set Perl5Lib="G:\\Perl\bin\"改变下环境变量Perl5Lib的指向,该命令作用域为Session级的,即重开Cmd后还得再次设置。
2、 与上述情况相反的:
可以先备份下Per5lLib的内容,然后将Perl5Lib清空或者设置为G:\\Perl\Lib即OK
3、两者都经常打交道的:
将G:\\Perl\Bin加到Perl5Lib的前面,注意,不是替换。
4、两者都不怎么玩的:
笔者保持缄默~
原文标题:关于Oracle 10g与安装Perl环境时的冲突以及解决方法
链接http://www.cnblogs.com/royenhome/archive/2010/08/02/1790194.html