How to use foreach loops in Perl

Home > Search > How-to

Loop through array

A foreach loop can be used to loop through a loop through an array. For example, let's say there is an array of fruit.

my @fruits = ("apple", "banana", "orange", "grapes");


Instead of placing quotes around each items in the array, the qw (quote words) function can be used. This also has the added benefit of not having to separate the data with commas.

my @fruits = qw(apple banana orange grapes);


In this example, a foreach loop prints each piece of fruit in the array.


my @fruits = qw(apple banana orange grapes);

foreach $fruit (@fruits) {
    print "$fruit ";


Running the script will produce the following output.

apple banana orange grapes


Loop through hash

Let's say you have the following hash of key value pairs.

%food = ('fruit',banana,'vegetable',onion,'grain',bread);


The following foreach loop will print the keys.

foreach $food(keys %food) {
    print $food;


This will print the keys.



The following foreach loop with print the values.

foreach $food(values %food) {
    print $food;


This will print the values.


Add a Comment

We will never share your name or email with anyone. Enter your email if you would like to be notified when we respond to your comment.

Please enter in the box below so that we can be sure you are a human.