濮阳杆衣贸易有限公司

主頁 > 知識庫 > Perl中use和require用法對比分析

Perl中use和require用法對比分析

熱門標(biāo)簽:浦東上海400開頭的電話申請 開封百應(yīng)電銷機器人聯(lián)系方式 電話機器人電話卡封號怎么辦 邯鄲外呼調(diào)研線路 真人語音電銷機器人系統(tǒng) 武漢呼叫中心外呼系統(tǒng)線路商 樂昌電話機器人 買了外呼系統(tǒng)不想用了怎么辦 北京語音電銷機器人價格

Perl use和require用法對比

對比(一)說明:
這兩個函數(shù)都是一個意思,加載和引用Perl的模塊,或者是子程序,

區(qū)別在于Perl use是在當(dāng)前默認的里面去尋找,一旦模塊不在指定的區(qū)域內(nèi)的化,用Perl use是不可以引入的

第一、Perl use引入的名稱不需要后綴名,而require需要
第二、Perl use語句是編譯時引入的,require是運行時引入的
第三,Perl use引入模塊的同時,也引入了模塊的子模塊。而require則不能引入,要在重新聲明

Perl use my

my中包含了一個Module.pm

而require 則需要引入requiremy requiremy::Module.pm
如果不想讓Perl use引入Module.pm則可以用Perl userequire()加一對括號來說明即可。
第四用Perl use引入模塊是趨勢,但是也不能說require沒有存在的必要,視具體情況而定。

對比(二)說明

區(qū)別一:跟require不同的是,Perl use只能用于模塊的包含,也就是.pm文件。
比如:
Perl useMyModule;
實際上,編譯器將從@INC指定的目錄下去尋找MyModule.pm模塊。如果模塊名稱中包含::雙冒號,該雙冒號將作為路徑分隔符,相當(dāng)于Unix下的/或者Windows下的。如:
Perl useMyDirectory::MyModule;
編譯器將從@INC指定的目錄下的MyDirectory子目錄去尋找MyModule模塊,類似如下路徑:
C:\Perl\lib\MyDirectory
C:\Perl\ext\lib\MyDirectory
C:\Perl\site\lib\MyDirectory

區(qū)別二:兩個都是包含,但是包含的條件是不一樣的。require包含是發(fā)生在程序運行期,而Perl use包含是發(fā)生在編譯期。學(xué)過C/C++的人比較容易理解。
下面的例子是錯誤的:  

復(fù)制代碼 代碼如下:

Perl useConfig; 
if($Config{'osname'}eq"MSWin32")
 {  Perl useWin32Module;  }
 else  {  Perl useUnixModule;  }

正因為Perl use是發(fā)生在編譯期,代碼沒有執(zhí)行,所以$Config變量的值是無法判斷的。在內(nèi)部,Perl use其實調(diào)用了require和import靜態(tài)函數(shù)。import()函數(shù)告訴包哪些特征將要被導(dǎo)入當(dāng)前包中,這意味著用之前不必驗證函數(shù)或者變量是否合法。而require是不會調(diào)用import()的。

標(biāo)簽:宜春 自貢 鄂州 六安 河北 松原 淄博 石嘴山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Perl中use和require用法對比分析》,本文關(guān)鍵詞  Perl,中,use,和,require,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Perl中use和require用法對比分析》相關(guān)的同類信息!
  • 本頁收集關(guān)于Perl中use和require用法對比分析的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    安乡县| 攀枝花市| 从化市| 贵港市| 广汉市| 德安县| 彰化市| 阜康市| 工布江达县| 鞍山市| 敦煌市| 西畴县| 故城县| 醴陵市| 长白| 阿图什市| 栖霞市| 章丘市| 崇文区| 托克逊县| 同江市| 齐河县| 彭山县| 武乡县| 微山县| 开鲁县| 玉门市| 娄烦县| 扎鲁特旗| 翁牛特旗| 巩义市| 南开区| 左权县| 侯马市| 新沂市| 河南省| 中西区| 隆林| 肥东县| 宁河县| 烟台市|