perl 子程式的使用

2021-07-27 17:20:18 字數 927 閱讀 2261

在perl中可以自己建立子程式(subroutine):

關鍵字sub,子程式名以及用花括號封閉起來的**塊。

sub  marine

子程式名與標量的命名空間是不同的兩個部分。

子程式的返回值:最後一次運算的表示式即是預設的返回值。也可以用return來顯式的返回,這樣之後的語句不會執行。

在標量上下文返回的會是標量,在列表上下文返回的也是列表。

子程式中的引數:子程式內部可以使用@_,$_[0],$_[1],$_[2],,,這樣的變數來表示。@_變數是子程式私有變數,遞迴呼叫時,不會出錯。

在子程式呼叫時,在子程式名後用括號括住的列表表示式。

$n = &max(10,15);          #10後被送到$_[0],15被送到$_[1],@_=(10,15),在標量上下文值為2;

子程式私有變數定義: my關鍵字來宣告詞法變數(lexical variable)。           my($m,$n) = @_;  #建立私有變數並賦值。

不僅可以定義在子程式中,還可以定義在if, while, foreach中。

只能用來宣告單個標量/變數,列表/陣列。          my $fred, $barney;    #錯誤,第二個變數無法宣告。

永續性私有變數: 用關鍵字state來宣告,在子程式的多次呼叫中保留變數之前的值。作用域仍然是只存在於子程式內部。

sub  marine 

也可以用來宣告陣列和雜湊型別。   state @number。

子程式的呼叫:子程式可以通過 (&+子程式名)的方式來呼叫。

如果編譯器之前看到過子程式的定義,那麼可以不加&,而直接呼叫子程式。

如果perl可以通過語法規則直接判斷它只能是子程式呼叫,那麼也可以省略 &。

也就是說只要你將引數列表放進括號內,就一定是子程式呼叫。

perl子程式學習筆記

一.定義 子程式即執行乙個特殊任務的一段分離的 它可以使減少重複 且使程式易讀.perl中,子程式可以出現在程式的任何地方.定義方法為 sub subroutine 二.呼叫 呼叫方法如下 1.用 呼叫 subname sub subname 2.先定義後呼叫,可以省略 符號 sub subname...

Perl 教學 子程式

一 定義 子程式即執行乙個特殊任務的一段分離的 它可以使減少重複 且使程式易讀。perl中,子程式可以出現在程式的任何地方。定義方法為 sub subroutine 二 呼叫 呼叫方法如下 1 用 呼叫 subname sub subname 2 先定義後呼叫 可以省略 符號 sub subname...

perl學習 4 子程式

子程式,模擬c語言中的函式,在形式上個人認為最大的區別 沒有形參 usr bin perl sub marine marine marine 所有的perl 子程式都會返回值,在perl 中返回值和不返回值是沒有區別的。當然,不是所有perl子程式返回的值都是有用的。由於所有的被呼叫的子程式都要返回...