in reply to When art thy variables defined?

When in doubt, Deparse. In this case we want extra -parentheses.
$ perl -MO=Deparse,-p -e'if(not defined $username || $username eq ""){ +}' if ((not (defined($username) || ($username eq '')))) { (); } -e syntax OK

Apparently noone's gut feeling was entirely correct - mine neither. Don't try guessing.

Makeshifts last the longest.