摘自東方瑞通Oracle數據庫資深講師楊老師的一篇工作日誌:爲了準備下周的oracle 10g培訓,今天從官網下載完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的前面,注意,不是替換。
希望這個經驗對你有用。Make IT Better。
文章來源:東方瑞通