Hashes
Hash is an unordered set of key/value pairs. They are preceded by %
.
Array elements are accessed by using it's indices. But Hashes are accessed using it's descriptive keys.
Example
%nationalGame = (Australia Cricket
Japan Wrestling
NewZealand Rugby
USA Baseball
England Cricket);
The above code can be written like below which increases readability and differentiates keys and values.
%nationalGame = (Australia => 'Cricket',
Japan => 'Wrestling',
NewZealand => 'Rugby',
USA => 'Baseball',
England => 'Cricket');
How to get Hash value
{}
are used to lookup for a hash value using it's key.
%nationalGame = (Australia=>'Cricket',
Japan => 'Wrestling',
NewZealand => 'Rugby',
USA => 'Baseball',
England => 'Cricket');
$game =$nationalGame{'Australia'};
print ("Australia National Game is: $game");
Check Result here
How to add key-value pair to a existing Hash
New key-value pair can be added like below to an existing hash.
%hashname{key} = value;
How to remove a key-value pair
key-value pair can be removed as shown below:
delete $hashname{key};
How to loop though hash elements
keys
function can be used to get a list of keys in scalars and you can use keys
function in a for
loop to to iterate the hash elements.
Examples
%nationalGame = (Australia=>'Cricket',
Japan => 'Wrestling',
NewZealand => 'Rugby',
USA => 'Baseball',
England => 'Cricket');
# To add a new key-value pair
$nationalGame{'India'} = 'Hockey';
# Loop through hash elements
for(keys %nationalGame){
print("National Game of $_ is $nationalGame{$_}\n");
}
print ("\n");
# delete a key-value pair
delete $nationalGame{'India'};
print("Hash elements after deleting India:\n");
for(keys %nationalGame){
print("$_ : $nationalGame{$_}\n");
}