returns 0 in scalar context because the parentheses are empty you're way off. In the expression
there is no list. The parentheses are used for precedence only! There's no such thing as a list is scalar context -- or at least not that I know of. Since there's nothing inside the parentheses the undefined value will be returned.