perl裡,子例程採用可變長引數列表,因此引數的個數不再限制,體現出動態語言的優點。由於傳遞的是引用,所以可以在sub裡改變它的值。
samle01.pl
#!/usr/bin/perl
sub sub_routine
my $par1 = "abcde";
my $par2 = 2;
print "main_par1:$par1/n";
print "main_par2:$par2/n";
&sub_routine($par1, $par2);
print "main_par1:$par1/n";
print "main_par2:$par2/n";
執行結果:
main_par1:abcde
main_par2:2
sub_par1:hello
sub_par2:999
main_par1:hello
main_par2:999
如果不想在子例程裡改變引數的值,可以採用生命區域性變數的方法。
sample02.pl
#!/usr/bin/perl
sub sub_routine
my $par1 = "abcde";
my $par2 = 2;
print "main_par1:$par1/n";
print "main_par2:$par2/n";
&sub_routine($par1, $par2);
print "main_par1:$par1/n";
print "main_par2:$par2/n";
執行結果:
main_par1:abcde
main_par2:2
sub_par1:abcdefghijklmn
sub_par2:10002
main_par1:abcde
main_par2:2
Perl 子例程呼叫by引用
第一種情況,傳匿名子例程引用 my rs greet rs greet wrong rs joan kim 當呼叫的已經是匿名子例程引用的時候。這行放在這裡報錯 my hidrs sub here is only 1 line not 4 lines hidrs tim my hidrs這塊不能放在...
perl 子過程 列表處理
1 定義子過程最普通的例子 sub razzle razzle 省略了輸入引數和輸出 返回值 perl向子過程傳入資料和子過程傳出資料的方法 所有傳入的引數被當成單個平面標量列表,類似的多個返回值也被當做單個平面標量列表返回給呼叫者 當使用list也一樣,任何傳入的陣列或雜湊的值都代換到一個平面的列...
監聽 傳參 子元件
背景 專案為常見的管理後臺系統,封裝了一個列表元件 列表元件內定義了searchdata方法用於調取獲取列表資料的介面 邏輯如下 父元件 data b 字串型別 watch if 某種判斷 b val this refs.child.searchdata methods changeb val 列表...
Vue 父向子元件傳參
父向子元件傳參經常用,比如說我們寫了一個select元件,呼叫的時候需要向子元件傳初始的資料。這就要父元件向呼叫的子元件傳參 父向子傳參 現在我們想要從當前頁面往子元件傳參,在標籤中寫上傳參的資料 這時在子元件中呼叫this.msgfromfather是undefind 的,需要在子元件的expor...
子窗體傳參給父窗體(Owner)
這幾天做專案時,遇到了這一問題 frmsendsms sms frmsendsms this.owner sms.listview1.items.add num 報 未將物件引用設定到物件的例項 錯.我在網上搜了一下,終於找到問題的癥結了.最後結合msdn整理如下 網路真是個好東西,資料浩瀚.注 主...