in reply to case & sleep_deprivation=$crap

Missing parens...
if $infodir = $lowercase { print $lowercase; }
is a conditional based on the value of a lookup in hash %lowercase (with the key being the return value of print, I think). It's also a numerical compare, as was pointed out above.
if($infodir eq $lowercase) {print $lowercase; }
is what you want. The () let perl figure out that $lowercase is a scalar, and not the start of a hash lookup.

Besides, the prefix form of if always needs parens, doesn't it?
--
Mike

(Edit: Missed the = part, I need a large code font I think... Time to learn CSS :))