Perl goto 語句

Perl 循環(huán) Perl 循環(huán)

Perl 有三種 goto 形式:got LABLE,goto EXPR,和 goto &NAME:

序號(hào)goto 類型
1goto LABEL

找出標(biāo)記為 LABEL 的語句并且從那里重新執(zhí)行。

2goto EXPR

goto EXPR 形式只是 goto LABEL 的一般形式。它期待表達(dá)式生成一個(gè)標(biāo)記名稱,并跳到該標(biāo)記處執(zhí)行。

3goto &NAME

它把正 在運(yùn)行著的子進(jìn)程替換為一個(gè)已命名子進(jìn)程的調(diào)用。

語法

語法格式如下所示:

goto LABEL

或

goto EXPR

或

goto &NAME

流程圖

Perl goto

實(shí)例

以下兩個(gè)實(shí)例在變量 $a 為 15 時(shí)跳出輸出。

以下是一個(gè)常用的 goto 實(shí)例:

#/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 );

執(zhí)行以上程序,輸出結(jié)果為:

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19

以下實(shí)例使用了 goto EXPR形式。我們使用了兩個(gè)字符串,并使用點(diǎn)號(hào) (.) 來鏈接。

$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 );

執(zhí)行以上程序,輸出結(jié)果為:

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19

Perl 循環(huán) Perl 循環(huán)