Bootstrap FreeKB - Perl (Scripting) - Determine if a hash is defined
Perl (Scripting) - Determine if a hash is defined

Updated:   |  Perl (Scripting) articles

In Perl, there are 2 different kinds of hashes.

  • A hash, which is defined by the % and ( ) characters - %hash = ( );
  • A reference hash, which is defined with the $ and { } characters - $hash = { };


The following if statement will return "is defined" when the hash named %hash is defined.

if ( %hash ) {
  print "The hash named \%hash is defined\n";


If the hash named %hash has not been defined, something like this will be returned.

Global symbol "%hash" requires explicit package name


Let's say you create an empty hash.

my %hash = ();


Dumper can be used to display the structure of the hash.

use Data::Dumper;
print Dumper \%hash;


Which will return the following.

$VAR1 = {};


Now the following if statement will return "is defined".

if ( %hash ) {
  print "\%hash is defined\n";


Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee


Add a Comment

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