in reply to Re: variable definitions
in thread variable definitions

Try reading up on basic Perl operators. == is for numbers. eq is for strings. You're comparing strings, so use eq. Both use the same assignment operator, which is =.

(Confusing explanation coming...) The technical reason why your if-statement keeps running is that strings, when treated as numbers, are equal to 0. Both "Yes" and "No" are numerically 0, and thus numerically equal.

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.