On Mon, Apr 08, 2002 at 07:56:11PM +0100, Piers Cawley wrote:
> > Also, just wondering:
> >
> > $_[_][EMAIL PROTECTED] _=_0_-_
> >
> > does that work the way I expect it to?
>
> Dunno, what do you expect it to do?. To my way of thinking there's
> going to be a syntax error at the third '_'. But I'm not entirely
> certain of that.
To me, the third '_' seems like it'd be an unambiguous case of the concatenation
operator. I still can't parse it, however; it looks like an attempt to
modify a non-lvalue:
$_.[_()] _ @_._() _= _0_() - _()
That is:
1. Invoke the subroutine _ (name resolved in current scope)
2. Dereference the variable $_, yielding an array reference.
3. Retrieve the element of the referenced array whose index is
the result of step 1.
4. Invoke the method _ on the array @_.
5. Concatenate the results of steps 3 and 4
6. Invoke the subroutine _0_
7. Invoke the _ again (or retrieve the cached result from step 1)
8. Subtract #7 from #6
9. Append the result of step 8 to contents of the lvalue
which is the result of step 5.
This is where my interpretation fails because the result of step 5
is not an lvalue.
Then again, it's probably using some syntax that I haven't internalized
yet.
--
Mark J. REED <[EMAIL PROTECTED]>