Perl函式 子程式 學習筆記

2022-09-26 10:36:24 字數 1213 閱讀 6316

一、函式定義

子程式即一段分離的**,它可以使減少重複**且程式易讀.perl中,子程式可以出現在程式的任何地方.但一般放在程式的開始或結尾.

複製** **如下:

sub subroutine

sub開始,子程式名同變數的命名規則,可與變數同名,最好不要與內部函式同名,如果與內部函式同名則用$subroutine區分,不用&是內部函式,用&是定義函式,但省略&時混淆.

帶有原型說明的子程式定義:

複製** **如下:

sub subroutine($$)

說明:1.()中的符號表示引數的型別,以乙個字元表示乙個引數.

2.$ 簡單變數   @ 列表  % 雜湊  & 匿名子程gyljni序   * 引用

3.前加\為強制型別一致,;分隔必須的引數和可選引數.

4.\@$;$表示gyljni第乙個引數為列表,第二個引數為簡單變程式設計客棧量,第三個引數簡單變數可選.

二、函式返回值

1.預設子程式中最後執行的乙個語句的值將用作返回值,如果在if塊中為最後執行的語句,雖然不是子程式的最後一句,也是返回值.

複製** **如下:

$a=1;

不用等於,直接$retval;

複製** **如下:

split(/:/,@a) 返回陣列.

2.語句return(retval) 退出子程式並返回值retval,retval可以為列表.

3.返回錯誤

return 返回錯誤undef

用eval(『subroutine') 函式,錯誤由$@變數中取得.

三、函式引數傳遞

形式:複製** **如下:

$sub1($num1,$unm2,$num3);     呼叫

sub sub1

my $num1=shift;

my $num2=shift;

my $num3=pop;

說明:1.所有引數在陣列@_中,每個元素為$_[0],$_[1]

2.@_,$_為區域性變數,當子程式內再呼叫子程式時,@_不改變,會新生成另乙份@_.

3.改變@_內元素的值如$_[gyljni0]會改變主程式的引數值.

4.shift pop 一次取乙個引數.對@_操作,shift取第乙個引數,然後刪除,pop取最後乙個引數再刪除.

本文標題: perl函式(子程式)學習筆記

本文位址: /jiaoben/perl/116572.html

perl子程式學習筆記

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

perl學習 4 子程式

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

perl學習之子程式

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