Latest web development tutorials

Perl goto 語句

Perl 循環 Perl循環

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

Perl 循環 Perl循環