Função Perl goto

Descrição

Esta função tem três formas, a primeira forma faz com que o ponto de execução atual salte para o ponto referido como LABEL. Um goto neste formato não pode ser usado para pular para um loop ou função externa. Você só pode pular para um ponto dentro do mesmo escopo.

A segunda forma espera que EXPR avalie como um LABEL reconhecível. Em geral, você deve ser capaz de usar uma instrução ou função condicional normal para controlar a execução de um programa, portanto, seu uso está obsoleto.

A terceira forma substitui uma chamada à sub-rotina nomeada pela sub-rotina atualmente em execução. A nova sub-rotina herda a pilha de argumentos e outros recursos da sub-rotina original; torna-se impossível para a nova sub-rotina até mesmo saber que foi chamada por outro nome.

Sintaxe

A seguir está a sintaxe simples para esta função -

goto LABEL

goto EXPR

goto &NAME

Valor de retorno

Esta função não retorna nenhum valor.

Exemplo

A seguir está o código de exemplo que mostra seu uso básico -

#!/usr/bin/perl

$count = 0;

START:
$count = $count + 1;

if( $count > 4 ) {
   print "Exiting program\n";
} else {
   print "Count = $count, Jumping to START:\n";
   goto START;
}

Quando o código acima é executado, ele produz o seguinte resultado -

Count = 1, Jumping to START:
Count = 2, Jumping to START:
Count = 3, Jumping to START:
Count = 4, Jumping to START:
Exiting program