#!/usr/bin/perl -w use strict; sub keyExists; # Begin Main my %hash1 = (); # Initialize empty hash. Perhaps unnecessary? %hash1 = ( "1", "20", "2", "20", "4", "19", "5", "20", "10", "20", "6", "18"); my %hash2 = (); # Initialize empty hash. Perhaps unnecessary? %hash2 = ( "1", "19", "2", "20", "4", "16", "5", "19", "6", "20"); foreach my $thisKey (sort keys %hash1) { # Check whether key from hash2 returns null to protect from undefined key for hash2 if (isNull(\%hash2, $thisKey)) { print "hash2 contains null value for key: $thisKey", "\n"; } else { my $result = $hash1{$thisKey} - $hash2{$thisKey}; print "$thisKey $hash1{$thisKey} minus $hash2{$thisKey} equals $result", "\n"; } } # End foreach exit 0; # End Main sub isNull { my $hashref = shift; # Reference to hash my $key = shift; # key to check my $rc = 0; if ($hashref->{$key}) { $rc = 0; # Hash returns non-null value } else { $rc = 1; # Hash returns Null value } return $rc; } # End sub isNull