Perl語言學習筆記 day 2

來源:互聯網
上載者:User

標籤:style   使用   檔案   for   amp   學習   程式   不同的   

1、在Perl中,子程式名與變數名屬於不同的命名空間,可以使用同一個名字分別命名子程式和變數,但不建議這樣使用。

2、子程式的定義是全域的,同名的子程式後邊的會覆蓋掉前邊的定義。

3、定義子程式

sub subProgram{

#body

}

4、調用子程式

&subProgram

5、所有的子程式都有返回值,預設最後一行的運算結果為返回值。

6、子程式未定義參數時,傳遞的參數預設傳給"@_",可以通過$_[0]、$_[1].....訪問;

7、在子程式中建立私人變數

my($m,$n);

my不會改變賦值時的上下文;

my變數只在其所在的最內層語句塊(如for、foreach等)使用,超出則無效;

如果不在任何語句塊中,則對整個程式檔案有效,作為整個程式檔案的私人變數使用;

my 後邊加括弧,括弧內的變數都被聲明,不加括弧只對緊跟其後的那個變數有用,my($m,$n)、my $m,$n;

8、use strict:使用更嚴格的文法規則,對當前語句塊和剩下的部分有用;

9、如果Perl在文法上可以識別出是子程式調用,則可以省略“&”,但是子程式名與Perl內建函數同名的時候,“&”不可省略;

10、持久性私人變數

例:

sub run{

state $n = 0;#初始化一次,再次執行會被忽略

$n +=1;

}

無法用於數組和雜湊類型的變數;


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.