在使用Linux或是unix時,perl是一個非常有用的指令碼的語言。關於perl的模組安裝,網上也有很多介紹,一方面可以通過不同套件內建的軟體安裝工具安裝,一方面可以通過cpan安裝,再者就是可以直接編譯原始碼。
這樣,對於擁有root許可權的使用者來說,沒有任何問題,可是對於不擁有root許可權的一般使用者來說,如果想在自己的home目錄下安裝與使用perl的模組,還有很多特別之處。我這裡就是專門介紹如何在一般使用者的home目錄下安裝以及使用perl模組的。
編譯與安裝模組:
一般來說有幾步基本步驟:
% perl Makefile.PL
% make
% make test
% make install
% make clean
不同於擁有root許可權的安裝,對於使用者,必須在第一步指定一個擁有合適許可權的安裝模組的目標路徑。
比如說perl Makefile.PL --PREFIX=/home/USERNAME/usr
讓你的指令碼能夠找到你安裝的模組
當你像上面一步那樣安裝了模組在/home/USERNAME/usr下面後,如果在你的程式中要用到這些模組,你可以通過兩種方法實現:
use lib qw(/home/USERNAME/usr/lib/perl5 /home/USERNAME/usr/lib/perl5/site_perl);
或者BEGIN { unshift @INC, qw(/usr/home/USERNAME/usr/local/lib/perl5 /usr/home/USERNAME/usr/local/lib/perl5/site_perl); }
其原理就是perl搜尋模組的路徑存放在@INC數組中,只要將使用者自訂的模組路徑加入到該數組中就行。
在perl指令碼外設定perl模組搜尋路徑
如果需要在perl指令碼外設定perl模組搜尋路徑(比如說要解決安裝模組的依賴關係)時,可以通過設定環境變數來解決。方法如下:
export PERL5LIB = \
/home/<username>/usr/lib/
/home/<username>/usr/lib/perl5/site_perl
當然如果你把它放在.bashrc中,此設定便可在以後每次登入系統都會起作用。