Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Why is this code not printing hash key?

by bigj (Monk)
on Apr 29, 2014 at 13:52 UTC ( [id://1084328]=note: print w/replies, xml ) Need Help??


in reply to Why is this code not printing hash key?

Your logic for finding out whether the domain is in the hash is wrong. You should use something like
if (exists $hash{$key}) { print "\n"; } else { print "\nThe domain you entered is not on the list above ..."; }
You loop through the keys of your hash, so you take the first key (attention: they are usually not in the same order as you put them in the hash) and compares it to your $selection. Most likely it won't be the same, so your else-part is executed, where you have built in an exit, too, so it prints your failure statement and stops. Even if your $selection is one of your keys, unless it is the first key in the hash, your program won't find it.

Greetings,
Janek Schleicher

PS: In general it is not a good idea to name a hash %hash. That it is a hash is shown by the sigil %. Better give it a name that describes what's inside the hash, here an idea would be to call that variable like %domain. Something similiar could be said about $key, but here you could avoid it completely, e.g. to print the list of domains, you could just write print "  $_\n" foreach keys %hash

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1084328]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-03-28 13:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found