從官網下載完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