O loop foreach é uma estrutura de controle feita sob medida para processar Perl listas e hashes. Assim como o para ciclo, foreach percorre cada elemento de uma matriz usando um iterador.
Como percorrer uma matriz em Perl com Foreach
Em vez de usar um scaler como iterador, o foreach usa a própria matriz. Por exemplo:
Você vê que isso fornece a mesma saída que imprimir a matriz @myNames na sua totalidade:
Se tudo o que você deseja é despejar o conteúdo da lista, basta imprimi-lo. Nesse caso, use o loop foreach para tornar a saída um pouco mais legível.
Você verá que esse código cria uma saída mais limpa imprimindo uma nova linha após cada item da lista.
Um loop Foreach mais limpo
O exemplo anterior usou $ _ para imprimir cada elemento da lista.
O uso desse escalar implícito padrão ($ _) gera código mais curto e menos digitação, mas nem sempre é a melhor solução. Se você deseja um código altamente legível ou se o loop foreach é complexo, é melhor atribuir um escalar como seu iterador.
Existem apenas duas diferenças: o nome escalar $ entre o foreach e a lista e a substituição do escalar padrão por ele dentro do loop. A saída é exatamente a mesma, mas o código é um pouco mais limpo. Tenha em mente:
- Um loop foreach é uma estrutura de controle Perl.
- É usado para percorrer cada elemento de uma matriz.