> > =item 'BOOLEAN'
   > > 
   > > The subroutine was called in a boolean context:
   > > 
   > >         if ( func() ) {}
   > >         $val = func() || 0;
   > >         $val = func() or die;
   > 
   > This one is debateable. BOOLEAN could be seen as asking for a TRUE or FALSE
   > value, which in the first case is fine. But in the second although the
   > value is tested for true/false, if it is true it is used, so there should
   > be some way to determine between them.

That's not what happens in operator overloading (which this part of the
want() mechanism is designed to enhance.

Your point is taken though. One might *almost* argue that the RVALUE
context ought to be reserved for calls which are subsequently being 
assigned, and some other context (VALUE?) be used in cases where the
return value is only being "used".
 
   > And if you are adding values into the context based on the operator, what
   > about defined() and the mythical ?? operator that someone is bound
   > to put an RFC in for sooner or later.

Over Tom's dead body! ;-)

Damian

Reply via email to