David,
Well I totally agree with you, it can become very frustrating in perl to check whether the user has actually given input as ‘0’, 0 and ’ ’ all evaluate to false.
PHP solves it nicely with a leteral check $value === false will only return true if the $value is explicity been set to false.