http://qs321.pair.com?node_id=714066


in reply to the if statement

This looks like homework, so here are some hints.

(keys %hash) is a list of the keys for %hash. The scalar assignment $input = (keys %hash) puts the number of keys into $input (which is probably not what you want to do). OTOH, to compare $input to each of the keys, you need to loop through the keys, comparing $input to each key. Since the keys (and the user input) are strings, you use eq to do the comparison.

Updated: Scrub the stupidity; no need to check everything; this is a hash, after all.

Replies are listed 'Best First'.
Re^2: the if statement
by eyepopslikeamosquito (Archbishop) on Sep 28, 2008 at 02:27 UTC
Re^2: the if statement
by FunkyMonk (Chancellor) on Sep 27, 2008 at 22:50 UTC
    you need to loop through the keys, comparing $input to each key
    That's what exists is for. In this case if ($hash{$input}) { ... } is probably good enough.