Qual é a diferença entre for e foreach em Perl?

Na linguagem de programação Perl palavras-chave for e foreach. Eles são usados para criar loops.

Entre eles não há diferença. Em todos os lugares, em vez de for pode-se sempre usar foreach e, em vez de foreach pode-se sempre usar for.

Mas há uma recomendação. Em Perl, existem 2 tipos de ciclos que se pode fazer com a ajuda de for ou foreach. A recomendação é que para cada tipo de ciclo de usar sempre o seu a palavra-chave. Para o ciclo semelhante a um ciclo na linguagem de programação c, usar apenas for, e para os outros ciclos de usar apenas foreach. Se você seguir esta simples regra então pergunta quando que usar e ler o código se torna um pouco mais fácil.

O ciclo como na linguagem de programação c

Depois de uma linguagem de programação c este tipo de ciclo em Perl parece muito familiar.

Depois de for entre parênteses vai de 3 trecho de código:

  • valor inicial
  • verificação de
  • mudança
▶ Run
#!/usr/bin/perl

for (my $i=0; $i < 3; $i++) {
    warn $i;
}

É o mesmo código que irá trabalhar, assim é, em vez de for usar foreach. Mas há uma recomendação para este tipo de o ciclo de utilizar sempre for e não usar foreach.

Ciclo — itera

O segundo tipo de ciclo que pode ser escrito usando for ou foreach em Perl é iterar sobre os elementos na lista. Este tipo de ciclo absolutamente não se parecia com o que há na linguagem de programação c.

▶ Run
#!/usr/bin/perl

foreach my $el (1, 2, 3) {
    warn $el;
}

Se escrever for em vez de foreach, este ciclo será executado exatamente o mesmo. Mas há uma recomendação para que este o tipo de ciclo é sempre usar apenas foreach e não usar for.

O postfix ciclo

A variação do ciclo anterior. Esta opção também vai funcionar da mesma maneira e no caso de for e foreach, mas a recomendação neste caso, utilizar apenas foreach.

▶ Run
#!/usr/bin/perl

warn $_ foreach (1, 2, 3);

Outros artigos