in reply to Re: Using ternary operator as lvalue in push
in thread Using ternary operator as lvalue in push

I don't think it's a limitation, you can use @{cond?\@a:\@b}. but i would like to spend more words on why push is prototyped: i'll check around.

Replies are listed 'Best First'.
Re^3: Using ternary operator as lvalue in push
by jhourcle (Prior) on Aug 01, 2007 at 16:31 UTC
    i would like to spend more words on why push is prototyped

    So we don't have to pass a reference for the first argument.

    If there weren't a prototype, the array being passed in would be flattened:

    push @array, $value;

    would be equivalent to:

    push $array[0], @array[1..$#array], $value;

    Let's compare two subroutines with and without prototypes, and see what's in @_: