a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Perl > 正文

Perl中use和require的用法區別詳解

2020-02-23 19:47:38
字體:
來源:轉載
供稿:網友

  今天小編跟大家分享一篇Perl中use和require的用法區別詳解,感興趣的朋友跟小編一起來了解一下吧!

  Perl use和require用法對比

  對比(一)說明:

  這兩個函數都是一個意思,加載和引用Perl的模塊,或者是子程序,

  區別在于Perl use是在當前默認的里面去尋找,一旦模塊不在指定的區域內的化,用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沒有存在的必要,視具體情況而定。

  對比(二)說明

  區別一:跟require不同的是,Perl use只能用于模塊的包含,也就是.pm文件。

  比如:

  Perl useMyModule;

  實際上,編譯器將從@INC指定的目錄下去尋找MyModule.pm模塊。如果模塊名稱中包含::雙冒號,該雙冒號將作為路徑分隔符,相當于Unix下的/或者Windows下的。如:

  Perl useMyDirectory::MyModule;

  編譯器將從@INC指定的目錄下的MyDirectory子目錄去尋找MyModule模塊,類似如下路徑:

  C:/Perl/lib/MyDirectory

  C:/Perl/ext/lib/MyDirectory

  C:/Perl/site/lib/MyDirectory

  區別二:兩個都是包含,但是包含的條件是不一樣的。require包含是發生在程序運行期,而Perl use包含是發生在編譯期。學過C/C++的人比較容易理解。

  下面的例子是錯誤的:

  復制代碼 代碼如下:

  Perl useConfig;

  if($Config{'osname'}eq"MSWin32")

  { Perl useWin32Module; }

  else { Perl useUnixModule; }

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

  以上就是Perl中use和require的用法區別詳解,想必都了解了吧,更多相關內容請繼續關注武林技術頻道。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 成人片网址 | av激情在线 | 91免费视频 | 亚洲视频区 | 午夜免费视频观看 | 欧美激情一区二区三区四区 | a级片视频在线观看 | 日韩在线免费 | 美女天天操 | 久久久久国产视频 | 黄色网址在线免费观看 | 免费中文字幕 | 色噜噜噜 | 范冰冰一级做a爰片久久毛片 | 日韩色综合 | 99久久久国产精品美女 | 国产精品毛片久久久久久久 | 中文字幕视频免费观看 | 日韩久久成人 | 午夜精品一区二区三区免费视频 | 青青草中文字幕 | mm1313亚洲国产精品美女 | 久久久久久久久久久久久久久 | 亚洲美女视频在线观看 | 国产精品久久久久久影院8一贰佰 | 亚洲精品一区二三区不卡 | 久久一区视频 | 影音先锋中文字幕在线 | 久久久精品国产 | 国产精品亚洲天堂 | 欧美 日韩 亚洲 一区 | 欧美日一区二区 | 国产精品视频久久 | 精品色区| 国产一级视频 | 国产精品爽 | a在线观看免费视频 | 欧美九九九 | 成人宗合网 | 91国偷自产一区二区三区亲奶 | 欧美高清视频一区二区三区 |