El bucle foreach es una estructura de control que está hecha a medida para procesar listas y hash de Perl. Al igual que el bucle for, foreach recorre cada elemento de una matriz utilizando un iterador.
En lugar de usar un escalador como iterador, foreach usa la matriz en sí. Por ejemplo:
Verá que esto da el mismo resultado que imprimir la matriz @myNames en su totalidad:
Si todo lo que quiere es deshacerse del contenido de la lista, puede imprimirlo. En ese caso, use el bucle foreach para que la salida sea un poco más legible.
Verá que este código crea resultados más limpios al imprimir una nueva línea después de cada elemento de la lista.
El ejemplo anterior usó $ _ para imprimir cada elemento de la lista.
El uso de este escalar implícito predeterminado ($ _) hace que el código sea más corto y menos tipeado, pero no siempre es la mejor solución. Si está buscando un código altamente legible o si su bucle foreach es complejo, es mejor que asigne un escalar como iterador.
Solo hay dos diferencias: el nombre escalar $ entre el foreach y la lista y el reemplazo del escalar predeterminado con él dentro del bucle. El resultado es exactamente el mismo, pero el código es un poco más limpio. Tenga en cuenta: