Perl module的一些小結收藏

2021-04-25 11:11:27 字數 1503 閱讀 2962

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

nginx fast cgi 一些小結

fpm children make line 352 child 20477 pool default started fpm event loop line 105 libevent entering main loop 的解決方案 這個問題是系統最大開啟檔案數與php fpm設定不一樣所致 1....

Perl Perl module的一些小結

perl module 關於perl module改如何使用,如何編寫,現在初步有一些膚淺的體會,總結如下 1.如何引用不在系統預設路徑中的module?方法1 使用lib use lib qw your path to module 貌似這幾乎等價於begin 方法2 修改 inc begin u...

關於dialog的一些小結

1.自定義dialog繼承dialog,2.或者activity在mainifest中設定 android theme style commondialog android theme.dialog 或者 3.處理一些手機寬高不能與螢幕寬高等同問題 顯示在底部與螢幕寬度一樣 private void...