in reply to Re: Re: Re: Scalars, Lists, and Arrays
in thread Scalars, Lists, and Arrays
Boolean context is ubiquitous, so let's give this little brother of list and scalar its due!"Boolean context" is 100% identical with scalar context. It is a fiction.
Interpolative contextThat is not a context, because expressions are not evaluated in double-quoted strings. What value does localtime() produce in "The time is: localtime()\n"?
Void contextThis one is a little different. For built-in Perl operators, it's identical to scalar context. The only time it might be different is for a user-defined function that explicitly tests whether wantarray yields an undefined value, and which does something different if so. Regardless, there's no question about what the return value is.
The interesting one I think you left out is that the argument of defined is a different kind of context. defined(&foo) doesn't even call &foo.