Perl goto 語句
Perl 有三種 goto 形式:got LABLE,goto EXPR,和 goto &NAME:
序號 | goto 類型 |
---|---|
1 | goto LABEL 找出標記為 LABEL 的語句並且從那裏重新執行。 |
2 | goto EXPR goto EXPR 形式只是 goto LABEL 的一般形式。它期待運算式生成一個標記名稱,並跳到該標記處執行。 |
3 | goto &NAME 它把正 在運行著的子進程替換為一個已命名子進程的調用。 |
語法
語法格式如下所示:
goto LABEL 或 goto EXPR 或 goto &NAME
流程圖
實例
以下兩個實例在變數 $a 為 15 時跳出輸出。
以下是一個常用的 goto 實例:
實例
#/usr/bin/perl
$a = 10;
LOOP:do
{
if( $a == 15){
# 跳過迭代
$a = $a + 1;
# 使用 goto LABEL 形式
print "跳出輸出 \n";
goto LOOP;
print "這一句不會被執行 \n";
}
print "a = $a\n";
$a = $a + 1;
}while( $a < 20 );
執行以上程式,輸出結果為:
a = 10 a = 11 a = 12 a = 13 a = 14 跳出輸出 a = 16 a = 17 a = 18 a = 19
以下實例使用了 goto EXPR形式。我們使用了兩個字串,並使用點號 (.) 來鏈接。
實例
$a = 10;
$str1 = "LO";
$str2 = "OP";
LOOP:do
{
if( $a == 15){
# 跳過迭代
$a = $a + 1;
# 使用 goto EXPR 形式
goto $str1.$str2; # 類似 goto LOOP
}
print "a = $a\n";
$a = $a + 1;
}while( $a < 20 );
執行以上程式,輸出結果為:
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19