一、函數(shù)定義
子程序即一段分離的代碼,它可以使減少重復(fù)代碼且程序易讀.perl中,子程序可以出現(xiàn)在程序的任何地方.但一般放在程序的開(kāi)始或結(jié)尾.
復(fù)制代碼 代碼如下:
sub subroutine{
statements;
}
sub開(kāi)始,子程序名同變量的命名規(guī)則,可與變量同名,最好不要與內(nèi)部函數(shù)同名,如果與內(nèi)部函數(shù)同名則用$subroutine區(qū)分,不用是內(nèi)部函數(shù),用是定義函數(shù),但省略時(shí)混淆.
帶有原型說(shuō)明的子程序定義:
復(fù)制代碼 代碼如下:
sub subroutine($$){ #需要兩個(gè)簡(jiǎn)單變量的參數(shù)
statements;
}
說(shuō)明:
1.()中的符號(hào)表示參數(shù)的類(lèi)型,以一個(gè)字符表示一個(gè)參數(shù).
2.$ 簡(jiǎn)單變量 @ 列表 % 散列 匿名子程序 * 引用
3.前加\為強(qiáng)制類(lèi)型一致,;分隔必須的參數(shù)和可選參數(shù).
4.\@$;$表示第一個(gè)參數(shù)為列表,第二個(gè)參數(shù)為簡(jiǎn)單變量,第三個(gè)參數(shù)簡(jiǎn)單變量可選.
二、函數(shù)返回值
1.缺省子程序中最后執(zhí)行的一個(gè)語(yǔ)句的值將用作返回值,如果在if塊中為最后執(zhí)行的語(yǔ)句,雖然不是子程序的最后一句,也是返回值.
復(fù)制代碼 代碼如下:
$a=1;
不用等于,直接$retval;
復(fù)制代碼 代碼如下:
split(/:/,@a) 返回?cái)?shù)組.
2.語(yǔ)句return(retval) 退出子程序并返回值retval,retval可以為列表.
3.返回錯(cuò)誤
return 返回錯(cuò)誤undef
用eval(‘subroutine') 函數(shù),錯(cuò)誤由$@變量中取得.
三、函數(shù)參數(shù)傳遞
形式:
復(fù)制代碼 代碼如下:
$sub1($num1,$unm2,$num3); 調(diào)用
sub sub1{
my($num1,$unm2,$num3)=@_;
}
my $num1=shift;
my $num2=shift;
my $num3=pop;
說(shuō)明:
1.所有參數(shù)在數(shù)組@_中,每個(gè)元素為$_[0],$_[1]
2.@_,$_[]為局部變量,當(dāng)子程序內(nèi)再調(diào)用子程序時(shí),@_不改變,會(huì)新生成另一份@_.
3.改變@_內(nèi)元素的值如$_[0]會(huì)改變主程序的參數(shù)值.
4.shift pop 一次取一個(gè)參數(shù).對(duì)@_操作,shift取第一個(gè)參數(shù),然后刪除,pop取最后一個(gè)參數(shù)再刪除.
您可能感興趣的文章:- perl批量查詢(xún)ip歸屬地的方法代碼
- perl中my和our的區(qū)別分析
- 解析posix與perl標(biāo)準(zhǔn)的正則表達(dá)式區(qū)別
- Perl中的正則表達(dá)式介紹
- 為Java程序員準(zhǔn)備的10分鐘Perl教程
- Perl內(nèi)置特殊變量總結(jié)
- Perl Sort函數(shù)用法總結(jié)和使用實(shí)例
- Perl調(diào)用shell命令方法小結(jié)
- perl 文件測(cè)試操作符匯總
- Perl使用nginx FastCGI環(huán)境做WEB開(kāi)發(fā)實(shí)例
- perl查找進(jìn)程PID的例子
- Perl一句話(huà)命令行編程中常用參數(shù)總結(jié)
- cpanm安裝及Perl模塊安裝教程
- Windows和Linux系統(tǒng)下perl連接SQL Server數(shù)據(jù)庫(kù)的方法
- 7個(gè)perl數(shù)組高級(jí)操作技巧分享
- Perl Substr()函數(shù)及函數(shù)的應(yīng)用