Keep It Simple, Stupid | |
PerlMonks |
Re^8: Confused as to why the "casting context" is mis-behaving (void,void,scalar)by tye (Sage) |
on Oct 22, 2010 at 19:51 UTC ( [id://866866]=note: print w/replies, xml ) | Need Help?? |
I've always thought it was that the compiler can't perform static analysis across function calls. That would be a reason for the warning to not happen (and a reasonable one). It is not a reason for the context to be scalar rather than void. But, yes, I tried to remember what was discussed when this inconsistency was brought up and threw in a half-remembered guess at the last minute. It turns out to be incorrect. The "useless use of constant in void context" doesn't happen for the return value of a sub, even when the sub is called in a void context. I don't recall specific enough details about the last time this came up to have found a prior discussion of it. But I eventually stumbled upon ysth providing a much better explanation of this exception, Re: If you believe in Lists in Scalar Context, Clap your Hands (which I don't believe is even the discussion I was remembering). - tye
In Section
Seekers of Perl Wisdom
|
|