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 形式 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
以下實例使用了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