in reply to Potential Ternary Operator Bug

My hunch is that this "works" in the same way that @a->[3] "works", in that an array name is sometimes automatically a reference to that array, even though the language definition would argue otherwise. I've heard it would take deep voodoo to get the current interpreter to have the right info to reject that, so we'll have to wait until perl 6, where it'll be blessed instead of cursed. {grin}

-- Randal L. Schwartz, Perl hacker

Replies are listed 'Best First'.
Re: Re: Potential Ternary Operator Bug
by robin (Chaplain) on Dec 11, 2001 at 18:49 UTC
    It's actually very easy to get the interpreter to reject @a->[3] - I'm not sure how the rumour that it's hard began. I wrote a very simple patch, which is in bleadperl, to deprecate that usage:

    [robin@penderel perl@12959]$ ./perl -we '@x->[2]'
    Using an array as a reference is deprecated at -e line 1.