Perl Perl module的一些小結

2021-04-23 08:41:55 字數 1463 閱讀 4781

perl module

關於perl module改如何使用,如何編寫,現在初步有一些膚淺的體會,

總結如下:

1. 如何引用不在系統預設路徑中的module?

方法1:使用lib

use lib qw (/your/path/to/module);

貌似這幾乎等價於begin

方法2:修改@inc

begin

use job::func;

為什麼是unshift,而不是push?因為unshift能把要增加的

項加入到@inc的開頭,這樣每次搜尋@inc時,總是最先找到

剛新加入@inc的目錄

2. 如何避免多個路徑下同名的module?

方法1:目錄命名盡量使用 "公司名/組織名/專案名/" 為字首

比方說: company/project/test

方法2:使用「::」

use this::function

use that::function

3. use和require

use在編譯時執行,require在執行時工作,所以最好使用use,

這樣能夠盡早發現問題

4. module中匯出函式或變數符號

******************************=

package func::job;

require exporter;

use vars qw($version @isa @export);

@isa = qw(exporter);

$version = '0.01';

@export =qw (init);

sub init

sub execute

***********************************

放到@export中的符號是可以直接呼叫的,

init();

只要你的perl指令碼use了這個module

不在@export中的符號不能直接呼叫,但是可以通過界定符迂迴完成:

func::job::execute()

注意這裡使用了exporter這個module, 任何乙個module要匯出符號,最好

通過exporter完成,這需要我們的module繼承exporter的特性,如何繼承?

方式1:

package func::job;

use base qw(exporter);

base可以建立繼承關係;

方式2:

package func::job;

require exporter;

use vars qw($version @isa @export);

@isa = qw (exporter);

這類似於

package baz;

begin

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...

Apache的rewrite的重寫相關的引數

apache mod rewrite規則重寫的標誌一覽 使用mod rewrite時常用的伺服器變數 rewriterule規則表示式的說明 匹配任何單字元 chars 匹配字串 chars chars 不匹配字串 chars text1 text2 可選擇的字串 text1或text2 匹配0到1...