The case for case-sensitivity goes something like this: it's always been that way in this type language and, who knows, maybe someone will find it convenient to have two different variables named LogOnName and LogonName. The case for implicit variable declaration is less clear, but is something like: it's faster to code and coders should just learn to be consistent.

Of course, none of these are very convincing for Murray, who recently stumbled across a project with this.

if (!$email){
    global $Email; 
    $email=$Email; 
    if (!$email){ 
        global $Email_Address; 
        $email=$Email_Address;
        if (!$email){
            global $email_address; 
            $email=$email_address; 
            if (!$email){ 
                global $EmailAddress; 
                $email = $EmailAddress;
                if (!$email){ 
                    global $emailaddress; 
                    $email = $emailaddress; 
                    if (!$email){ 
                        global $EMailAddress; 
                        $email = $EMailAddress; 
                    }
                }
            }
        }
    }
}

Fortunately, the language didn't have support for dashes.