Perl goto 语句

Perl 确实支持 goto 语句。 共有三种形式:goto LABEL、goto EXPR、goto &NAME。

序号 goto 类型
1

goto LABEL

goto LABEL 表单跳转到标有 LABEL 的语句并从那里恢复执行。

2

goto EXPR

goto EXPR 形式只是 goto LABEL 的概括。 它期望表达式返回一个标签名称,然后跳转到该标签语句。

3

goto &NAME

它用对指定子例程的调用代替当前运行的子例程。


语法

goto 语句的语法如下 −

goto LABEL

or

goto EXPR

or

goto &NAME

流程图

Perl goto 语句

示例

以下程序显示了最常用的 goto 语句形式 −

#/usr/local/bin/perl
   
$a = 10;

LOOP:do {
   if( $a == 15) {
      # skip the iteration.
      $a = $a + 1;
      # use goto LABEL form
      goto LOOP;
   }
   print "Value of a = $a\n";
   $a = $a + 1;
} while( $a < 20 );

当上面的代码被执行时,它会产生下面的结果 −

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

以下示例显示了 goto EXPR 表单的用法。 这里我们使用两个字符串,然后使用字符串连接运算符 (.) 将它们连接起来。 最后,它形成一个标签,并使用goto跳转到标签 −

#/usr/local/bin/perl
   
$a = 10;
$str1 = "LO";
$str2 = "OP";

LOOP:do {
   if( $a == 15) {
      # skip the iteration.
      $a = $a + 1;
      # use goto EXPR form
      goto $str1.$str2;
   }
   print "Value of a = $a\n";
   $a = $a + 1;
} while( $a < 20 );

当上面的代码被执行时,它会产生下面的结果 −

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

❮ Perl 循环