in reply to defined defined -- Bug or "Feature"?
two defined's reverses the logic of the expressionNo, it doesn't reverse the logic. It's always true, regardless of the single defined's result:
This is because, as stated in previous comments, the first (rightmost) defined will always return a defined result, so the second (leftmost) defined always receives a defined input value.$ perl -E 'say ((defined $x) ? "defined" : "undef")' undef $ perl -E 'say ((defined defined $x) ? "defined" : "undef")' defined $ perl -E '$x = 1; say ((defined $x) ? "defined" : "undef")' defined $ perl -E '$x = 1; say ((defined defined $x) ? "defined" : "undef")' defined
In Section
Seekers of Perl Wisdom