Perl學習筆記(四)--子程式

來源:互聯網
上載者:User

標籤:

定義子程式

  要定義自己的子程式,可使用關鍵字sub,子程式名(不包含與號)以及用花括弧封閉起的代碼塊,例如:

1 sub marine{2      $n +=1;  #全域變數 $n3      Print “Hello,sailor number $n \n”;4 }

  子程式不需要事先聲明

  子程式的定義是全域的,不存在私人子程式

  假如定義兩個重名的子程式,後面的子程式會覆蓋掉前面的那個

 

調用子程式

1 &marine;

 

傳回值

  子程式中最後一次運算的結果都會被自動當成子程式的傳回值

 

參數

  要傳遞參數列表到子程式裡,只要在子程式調用的後面加上被括弧圈引的列表運算式就行了,例如:  

1 $n = &max(10,15);

 

子程式中的私人變數

  預設情況,perl裡面所有的變數都是全域變數,可以藉助my操作符來建立私人變數,我們稱之為詞法變數

1  sub max{2      my($m,$n);                #該語句塊中的新私人變數 3     ($m,$n) = @_;          #將參數賦值給變數4      If($m>$n){$m}else{$n}    5  }

 

改進的&max子程式

 1 $maxinum=$max(3,5,10,4,6); 2 Sub max{ 3     my ($max_so_far) = shift @_;                   #數組中的第一個值,暫時把它當成最大值 4     foreach(@_){                                        # 遍曆數組@_中的其他元素 5      if($_>$max_so_far){                  # 當前元素比$max_so_far更大嗎 6          $max_so_far = $_; 7      } 8     } 9     $max_so_far;10 }

 

use strict編譯指令

   更嚴謹的代碼和編譯風格

 

return操作符

  立即停止執行子程式並返回某個值

Perl學習筆記(四)--子程式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.