in reply to == works where it shouldn't but eq doesn't where it should

If $who is keyed in did you remove the carriage return?
$ perl -e 'print "fred" eq "fred\n" ? "t" : "f","\n";' f $ perl -e 'print "fred" == "fred\n" ? "t" : "f","\n";' t