in reply to Dump the key value pairs in a hash

$self is a scalar variable, so it's not a hash, it's a reference to a hash. You need to dereference it to get the hash:
print map { "Key: $_ has Value:$self->{$_}\n" } keys %$self; # ~~ ~

Or, use Data::Dumper:

use Data::Dumper; ... print Dumper($self);

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]