goto Perl
Perl tiene tres formas de Goto: conseguido lable, EXPR Goto, y Goto Y NOMBRE:
No. | tipo de Goto |
---|---|
1 | goto etiqueta Encuentra la sentencia LABEL marcado y volver a ejecutar desde allí. |
2 | Goto EXPR Goto EXPR forma Goto etiqueta es la forma general. Se esperaba que una expresión genera una etiqueta con su nombre, y saltar a la marca para llevar a cabo. |
3 | Goto Y NOMBRE Es un proceso hijo que se ejecuta con una llamada a un nombre subprocesos. |
gramática
La sintaxis es la siguiente:
goto LABEL 或 goto EXPR 或 goto &NAME
diagrama de flujo
Ejemplos
Los dos ejemplos siguientes en la variable $ a 15 de la salida.
La siguiente es una Goto ejemplos de uso común:
#/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 );
El programa anterior, la salida es:
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19
En el siguiente ejemplo se utiliza la forma EXPR Goto. Se han utilizado dos cadenas y utilice un punto (.) Para el enlace.
$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 );
El programa anterior, la salida es:
a = 10 a = 11 a = 12 a = 13 a = 14 a = 16 a = 17 a = 18 a = 19