Various ways to print the content of hash in Perl

What is the various ways to print the contents of a hash?

Hash in Perl is nothing but an associative array i.e. Each key is associate with its value and can be displayed using either key or value. It is preferred over simpler array because instead of printing value based on index number, you can print by using key.

$hash{'key'} = 'value';<br />

We will discuss Hash fundamentals in another tutorial where I will explain everything which is required to understand hash clearly with some examples. Let’s see here, how we can display the contents of hash. We assume we have a hash defined as %hash = (some key value pairs);

Method 1: Printing Hash contents using hash variable name directly (Doesn’t look good)

print %hash,"\n"; # try print %hash."\n";

Method 2: Printing a hash using array

Using temporary array

my @arr = %hash;
print "@arr\n";

or using Anonymous array reference

print "@{ [ %hash ] } \n";


Method 3: Printing a Hash using each function and while loop

We used while loop here because each function returns a list consisting key and value.

while ( ( $key, $value ) = each %hash ){
  print "Key:$key has its value as: $value\n";

Method 4: Printing a Hash using keys function

We can do that in many way and two frequent ways are either using foreach or map function over each keys.

  • Using map

print map { "Key: $_ has Value:$hash{$_}\n" } keys %hash;
  • Using foreach (most common method)

foreach my $key ( keys %hash ){
  print "Key:$key has value: $hash{'$key'}\n";

Method 5: Using Data::Dumper

You must include use Data::Dumper;  in your code before using Dumper method.

print Dumper \%hash;

Note: I didn’t show the way to access hash reference. It is the most simple form of accessing hash elements. Later we would cover some other ways to display contents when we will cover hash reference 🙂



Sanjeev Jaiswal

He loves web programming and security and co-founder of Alien Coders. He usually shares and helps engineering students and IT professionals in academics and jobs. An avid reader and quick learner.

Share your comment

%d bloggers like this: