in reply to Re^2: wantarray - surprise behaviour
in thread wantarray - surprise behaviour
Does that mean the context where the wantarray is, or where the function call is?
Where the function call is.
If it's where the function is called as a hash value
blah() is not called "as a hash value". It is called while building a list (which eventually will be assigned to a hash.) For example:
%hash = (a => 'b', 'c', d => split(//, 'ef'));results in
$hash{'a'} = 'b' $hash{'c'} = 'd' $hash{'e'} = 'f'
It's useful to think of the () as an operator creating an anonymous list.
couldn't you're example just as easily be (1, $a), instead of (1, @a)?
Yes, a scalar can be be provided when an a list is expected. However, I used @a because an array behaves differently in scalar and list contexts. (It returns the number of elements in the former, and the list of elements in the latter.)
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: wantarray - surprise behaviour
by diotalevi (Canon) on Aug 31, 2004 at 22:25 UTC | |
by BrowserUk (Patriarch) on Aug 31, 2004 at 22:46 UTC | |
by Anonymous Monk on Sep 01, 2004 at 14:51 UTC | |
by BrowserUk (Patriarch) on Sep 01, 2004 at 16:23 UTC | |
by Anonymous Monk on Sep 01, 2004 at 14:55 UTC | |
by diotalevi (Canon) on Sep 01, 2004 at 17:43 UTC |