perl 函式指標

2021-06-21 20:52:29 字數 1070 閱讀 8280

還是研究perl.

我的意圖,是把所有使用者介面關注的 perl呼叫,用乙個函式進行包裝。

所以,我需要進行一層wrap.

也就是說,函式要呼叫函式。

經過與同事幾個小時的研究,兩人一番討論。

終於找到了方法。

這裡面有兩個關鍵問題,乙個是函式指標,另乙個是引數。

引數對於perl來說,真不是問題,這是我這乙個多月,感觸最深的。是perl的靈魂。

但函式指標,走了大半天彎路才明白寫法:

uioper::agentcall( \& haotestmode::mvpackage,"adf","kjgh");

我一開始,少了前面的取址符。也真是夠透豆的。

結果是,先呼叫了haotestmode::mvpackage,然後說乙個引數也沒拿到。

好了,**附上:

test.pl

#! /usr/bin/perl

use uioper;

use haotestmode;

uioper::agentcall(\&haotestmode::mvpackage,"adf","kjgh");

#也可以寫成:uioper::agentcall(『haotestmode::mvpackage』,"adf","kjgh");

uioper.pl

package uioper;

#use haotestmode;

#comment of mvpackage

%funcmap=('haotestmode::mvpackage'=>\&haotestmode::mvpackage);

sub agentcall

;# 也可以寫作:    my $funcptr= $funcmap;

#my $funcptr= $a;

$funcptr->(@xx);

return 1;}1;

haotestmode.pl

#! /usr/bin/perl

package haotestmode;

#comment of mvpackage

sub mvpackage

1;

Perl 函式引用

函式的引用 ref func func的定義在其他位置 不要 當 func 時為執行函式,返回值再引用。當 func 時為執行函式,返回值再引用。oracle jhoa 3 cat 3.pl sub generate greeting 引用 rs generate greeting print rs...

Perl函式pack unpack解釋

函式名 pack 呼叫語法 formatstr pack packformat,list 解說把乙個列表或陣列以在實際機器存貯格式或c等程式語言使用的格式轉化 包裝 到乙個簡單變數中。引數packformat包含乙個或多個格式字元,列表中每個元素對應乙個,各格式字元間可用空格或tab隔開,因為pac...

Perl函式pack unpack解釋

函式名 pack 呼叫語法 formatstr pack packformat,list 解說把乙個列表或陣列以在實際機器存貯格式或c等程式語言使用的格式轉化 包裝 到乙個簡單變數中。引數packformat包含乙個或多個格式字元,列表中每個元素對應乙個,各格式字元間可用空格或tab隔開,因為pac...