從官網下載完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、兩者都不怎麼玩的:
筆者保持緘默~