>六、遞歸子程序PERL中,子程序可以互相調用,其調用方法與上述相同,當調用該子程序本身時,即成了遞歸子程序。遞歸子程序有兩個條件:1、除了不被子程序改變的變量外,所有的變量必須的局部的;2、該子程序要含有停止調用">
歡迎來到天天文庫
瀏覽記錄
ID:9661732
大?。?8.50 KB
頁數:2頁
時間:2018-05-05
《perl實例分析教程之九--》由會員上傳分享,免費在線閱讀,更多相關內容在應用文檔-天天文庫。
1、perl實例分析教程之九>>六、遞歸子程序PERL中,子程序可以互相調用,其調用方法與上述相同,當調用該子程序本身時,即成了遞歸子程序。遞歸子程序有兩個條件:1、除了不被子程序改變的變量外,所有的變量必須的局部的;2、該子程序要含有停止調用本身的代碼。七、用別名傳遞數組參數1、用前面講到的調用方法my_sub(array)將把數組array的數據拷貝到子程序中的變量_中,當數組很大時,將會花費較多的資源和時間,而用別名傳遞將不做這些工作,而對該數組直接操作。形式如:myarray=(1,2,3,4,5);my_sub(*myarray);submy_sub{my(*subarray)=_;
2、}2、此方法類似于C語言中的傳遞數組的起始地址指針,但并不一樣,在定義數組的別名之后,如果有同名的簡單變量,則對該變量也是起作用的。如:$foo=26;foo=("here's","a","list");testsub(*foo);...subtestsub{local(*printarray)=_;...$printarray=61;}當子程序執(zhí)行完,主程序中的$foo的值已經成了61,而不再是26了。3、用別名的方法可以傳遞多個數組,如:array1=(1,2,3);array2=(4,5,6);ty(*subarray1,*subarray2)=_;}在該子程序中,subarray1
3、是array1的別名,subarray2是array2的別名。八、預定義的子程序PERL5預定義了三個子程序,分別在特定的時間執(zhí)行,它們是:BEGIN子程序在程序啟動時被調用;END子程序在程序結束時被調用;AUTOLOAD子程序在找不到某個子程序時被調用。你可以自己定義它們,以在特定時間執(zhí)行所需要的動作。如:BEGIN{print("Hi!entspassed:_n");}若同一個預定義子程序定義了多個,則BEGIN順序執(zhí)行,END逆序執(zhí)行。>>>>這篇文章來自..,。
此文檔下載收益歸作者所有