2010-07-20 62 views

回答

0

你可以嘗試 「做」

# read in config files: system first, then user 
for $file ("/share/prog/defaults.rc", "$ENV{HOME}/.someprogrc") 
{ 
    unless ($return = do $file) { 
    warn "couldn't parse $file: [email protected]" if [email protected]; 
    warn "couldn't do $file: $!" unless defined $return; 
    warn "couldn't run $file"  unless $return; 
    } 
} 

這是從的perldoc例子。

+0

感謝它的工作。 – Luci 2010-07-20 10:04:57

6

當您要求Perl使用模塊時,它會搜索@INC中的目錄。如果你想使用一個模塊位於一些其他目錄,你可以這樣做:

use lib 'some/other/directory'; 
use TheModule; 

如果你不想的目錄添加到@INC,則可以直接實現use這樣的:

BEGIN { 
    require 'some/other/directory/TheModule.pm'; 
    TheModule->import('foo', 'bar', ...); 
} 

有關useuse lib@INC的更多詳細信息。

+0

我assuemd這些沒有模塊,但腳本,因爲他們在cgi-bin/ 我認爲它有點危險添加cgi-bin/to @INC,不是嗎? – krico 2010-07-21 08:52:38

+0

@krico如果他們不是模塊,他們爲什麼是'pm'文件?關於將'cgi-bin'添加到'@ INC'的問題,請參閱編輯的答案。 – FMc 2010-07-21 12:18:07

+0

是有道理的。我喜歡。 – krico 2010-07-21 14:34:27