一、函數定義
子程序即一段分離的代碼,它可以使減少重復代碼且程序易讀.perl中,子程序可以出現在程序的任何地方.但一般放在程序的開始或結尾.
復制代碼 代碼如下:
sub subroutine{
statements;
}
sub開始,子程序名同變量的命名規則,可與變量同名,最好不要與內部函數同名,如果與內部函數同名則用$subroutine區分,不用是內部函數,用是定義函數,但省略時混淆.
帶有原型說明的子程序定義:
復制代碼 代碼如下:
sub subroutine($$){ #需要兩個簡單變量的參數
statements;
}
說明:
1.()中的符號表示參數的類型,以一個字符表示一個參數.
2.$ 簡單變量 @ 列表 % 散列 匿名子程序 * 引用
3.前加\為強制類型一致,;分隔必須的參數和可選參數.
4.\@$;$表示第一個參數為列表,第二個參數為簡單變量,第三個參數簡單變量可選.
二、函數返回值
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,$unm2,$num3)=@_;
}
my $num1=shift;
my $num2=shift;
my $num3=pop;
說明:
1.所有參數在數組@_中,每個元素為$_[0],$_[1]
2.@_,$_[]為局部變量,當子程序內再調用子程序時,@_不改變,會新生成另一份@_.
3.改變@_內元素的值如$_[0]會改變主程序的參數值.
4.shift pop 一次取一個參數.對@_操作,shift取第一個參數,然后刪除,pop取最后一個參數再刪除.
您可能感興趣的文章:- perl批量查詢ip歸屬地的方法代碼
- perl中my和our的區別分析
- 解析posix與perl標準的正則表達式區別
- Perl中的正則表達式介紹
- 為Java程序員準備的10分鐘Perl教程
- Perl內置特殊變量總結
- Perl Sort函數用法總結和使用實例
- Perl調用shell命令方法小結
- perl 文件測試操作符匯總
- Perl使用nginx FastCGI環境做WEB開發實例
- perl查找進程PID的例子
- Perl一句話命令行編程中常用參數總結
- cpanm安裝及Perl模塊安裝教程
- Windows和Linux系統下perl連接SQL Server數據庫的方法
- 7個perl數組高級操作技巧分享
- Perl Substr()函數及函數的應用