在我的應用程序中,我將所有模塊放在一個目錄中,我們將其稱爲libx
。 由於要由用戶選擇應用程序的部署位置,因此我不想對lib
路徑進行硬編碼。爲什麼「use lib」不能以這種方式生效?
所以在myapp.pl
開始,我寫了下面的代碼行。
#! /usr/bin/perl -w
use strict;
my $curr_dir = $0;
my $curr_lib = $curr_dir;
$curr_lib =~ s/myapp\.pl/libx/;
use $curr_lib ;
沒有得到我期待的東西,我得到了編譯錯誤!
那麼,我的代碼有什麼問題?我不想在使用use lib
時對lib路徑進行硬編碼,我應該怎麼做?
對不起,我忘了提,當應用程序部署,myapp.pl
和libx
在同一個目錄下。
如果您告訴我們您期望您的用戶如何啓動應用程序,這將有所幫助。他們只會輸入「myapp」。pl',這取決於他們的$ PATH設置,以便myapp.pl可以在任何他們卡住的目錄中找到? – 2009-08-18 05:45:10