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

Is it done this way to allow the prototype to be checked at compile time?
>perl -c -e"sub t(\@) { @{$_[0]} = '!' } t($c?@a:@b); print @b; Type of arg 1 to main::t must be array (not null operation) at -e line + 1, near "@b)" -e had compilation errors.