我使用use lib "./DIR"
從其他地方的文件夾中獲取庫。但是,它似乎不能在我的服務器上工作,但它在我的本地桌面上正常工作。 有什麼特別的原因?Perl的lib pragma是如何工作的?
還有一個問題,use lib
會在幾個模塊中傳播嗎?
兩種情況: 假設我需要一些庫的基類,但我知道它需要擴展,擴展類需要使用另一個庫。我可以將use lib
命令放在基類中嗎?還是我需要把它放在每個擴展課堂上?
最後,我可以只有一個use package
其中軟件包包含一堆使用lib,它會傳播使用lib語句到我的當前模塊? < - 我不這麼認爲,但總是詢問
我用getcwd弄清楚了哪裏「。」是。只是想知道是否有可能找出perl腳本的位置?當我嘗試使用FindBin時,它不工作,因爲lib和bin不在同一位置。所以這裏是我想要做的一個例子。我從說folder1運行perl腳本。它使用lib「/ abs/path/topack /」;使用包。在包中,我使用lib'./FOLDER2';假設cwd將是相同的。由於「。」指向Folder1,而不是路徑。這是錯誤的。我如何不使用包中的絕對路徑還能夠使用。?可能嗎? – Tyug 2010-04-12 18:55:53
@Tyug:您可以通過檢查'%INC'來確定模塊的加載位置。有關類似的問題,請參閱http://stackoverflow.com/questions/1463414,以便您指出正確的方向。 – 2010-04-12 19:22:54
非常感謝! – Tyug 2010-04-13 12:56:02