On 9/1/05, Yuval Kogman <[EMAIL PROTECTED]> wrote:
> On Wed, Aug 31, 2005 at 13:43:57 -0600, Luke Palmer wrote:
> > Uh yeah, I think that's what I was saying.  To clarify:
> >
> >     sub foo (&prefix:<+>) { 1 == 2 }    # 1 and 2 in numeric context
> >     foo(&say);   # nothing printed
> >
> > But:
> >
> >     sub foo (&prefix:<+>) { +1 == +2 }
> >     foo(&say);    # "1" and "2" printed
> >
> > Luke
> 
> Furthermore, even if:
> 
>         sub &infix:<==> ($x, $y) { +$x == +$y }
>         sub foo (&prefix:<+>) { 1 == 2 }
> 
>         foo(&say); # nothing printed
> 
> but if
> 
>         sub foo (&*prefix:<+>) { 1 == 2 }
> 
> then what?

Um, you can't do that.  You can't lexically bind a global; that's why
it's global. You could do:

    sub foo (&plus) { temp &*prefix:<+> = &plus;  1 == 2 }

And then something would be printed... maybe, depending on the
implementation of == (with your implementation above, it would).

Luke

Reply via email to