Il ciclo foreach è una struttura di controllo su misura per elaborare elenchi e hash Perl. Proprio come il ciclo for, foreach passi attraverso ogni elemento di un array usando un iteratore.
Invece di usare uno scaler come iteratore, foreach usa l'array stesso. Per esempio:
Vedete che questo dà lo stesso output della stampa dell'array @myNames nella sua interezza:
Se tutto ciò che vuoi è scaricare il contenuto dell'elenco, puoi semplicemente stamparlo. In tal caso, utilizzare il ciclo foreach per rendere l'output un po 'più leggibile.
Vedrai che questo codice crea un output più pulito stampando una nuova riga dopo ogni elemento nell'elenco.
L'esempio precedente usava $ _ per stampare ogni elemento dell'elenco.
L'uso di questo scalare implicito predefinito ($ _) consente di ridurre il codice e di digitare meno, ma non è sempre la soluzione migliore. Se stai mirando a un codice altamente leggibile o se il tuo ciclo foreach è complesso, potresti essere meglio assegnare uno scalare come iteratore.
Ci sono solo due differenze: il nome scalare $ tra foreach e la lista e la sostituzione dello scalare predefinito con esso all'interno del ciclo. L'output è esattamente lo stesso, ma il codice è leggermente più pulito. Tieni a mente: