Perl - Loops
Pode haver uma situação em que você precise executar um bloco de código várias vezes. Em geral, as instruções são executadas sequencialmente: a primeira instrução em uma função é executada primeiro, seguida pela segunda e assim por diante.
As linguagens de programação fornecem várias estruturas de controle que permitem caminhos de execução mais complicados.
Uma instrução de loop nos permite executar uma instrução ou grupo de instruções várias vezes e a seguir está a forma geral de uma instrução de loop na maioria das linguagens de programação -
A linguagem de programação Perl fornece os seguintes tipos de loop para lidar com os requisitos de loop.
Sr. Não. | Tipo e descrição de loop |
---|---|
1 | loop while
Repete uma declaração ou grupo de declarações enquanto uma determinada condição for verdadeira. Ele testa a condição antes de executar o corpo do loop. |
2 | até o laço
Repete uma declaração ou grupo de declarações até que uma determinada condição se torne verdadeira. Ele testa a condição antes de executar o corpo do loop. |
3 | para loop
Executa uma sequência de instruções várias vezes e abrevia o código que gerencia a variável de loop. |
4 | loop foreach
O loop foreach itera sobre um valor de lista normal e define a variável VAR para ser cada elemento da lista por vez. |
5 | fazer ... loop while
Como uma instrução while, exceto que testa a condição no final do corpo do loop |
6 | loops aninhados
Você pode usar um ou mais loops dentro de qualquer outro loop while, for ou do..while. |
Declarações de controle de loop
As instruções de controle de loop alteram a execução de sua sequência normal. Quando a execução deixa um escopo, todos os objetos automáticos criados nesse escopo são destruídos.
Perl suporta as seguintes instruções de controle. Clique nos links a seguir para verificar seus detalhes.
Sr. Não. | Declaração de controle e descrição |
---|---|
1 | próxima declaração
Faz com que o loop pule o restante de seu corpo e teste novamente sua condição antes de reiterar. |
2 | última declaração
Encerra a instrução de loop e transfere a execução para a instrução imediatamente após o loop. |
3 | continuar declaração
Um bloco de continuação, é sempre executado um pouco antes de a condicional estar prestes a ser avaliada novamente. |
4 | refazer declaração
O comando redo reinicia o bloco de loop sem avaliar a condicional novamente. O bloco de continuação, se houver, não é executado. |
5 | declaração goto
Perl suporta um comando goto com três formas: goto label, goto expr e goto & name. |
The Infinite Loop
Um loop se torna um loop infinito se uma condição nunca se torna falsa. oforloop é tradicionalmente usado para esse propósito. Uma vez que nenhuma das três expressões que formam ofor são necessários, você pode fazer um loop infinito deixando a expressão condicional vazia.
#!/usr/local/bin/perl
for( ; ; ) {
printf "This loop will run forever.\n";
}
Você pode encerrar o loop infinito acima pressionando as teclas Ctrl + C.
Quando a expressão condicional está ausente, ela é considerada verdadeira. Você pode ter uma expressão de inicialização e incremento, mas como um programador, use mais comumente a construção for (;;) para significar um loop infinito.