Perl函數的聲明與調用

關於Perl中函數的聲明以及調用,舉例如下:

1、第一種使用方式:

# declare but not defined
sub fun;

# call function, the () is not necessary
fun $arg;   # ok
fun($arg);  # ok

# define the function
sub fun
{
    //do something
}


2、第二種使用方式:

# call function, the () is not necessary
fun $arg;  # error
fun($arg); # ok

# define the function
sub fun
{
    //do something
}


總結:
一、如果在文件開頭使用的 sub fun {...}  定義了函數,那麼可以使用 fun arg 或者 fun(arg) 調用函數。
     因爲開頭已經定義了函數,因此Perl看到fun時即可知道這是一個函數調用,因此可以不用括號亦可。

二、如果函數定義 sub fun {...} 放在文件結尾,那末在文件開頭部分只能使用 fun(arg)調用,不能省略括號。
     因爲此時函數尚未定義,因此Perl看到fun時並不知道這是一個函數,所以必須使用括號告訴Perl這是一個函數。

三、如果函數 sub fun {...} 放在文件結尾,但在開頭用 sub fun; 聲明瞭函數,那麼也可以省略括號。
     因爲這時候雖然函數尚未定義,但通過前向聲明,Perl已經知道fun是一個函數,因此括號可以省略。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章