in reply to Re: Re: random elements from array - new twist
in thread random elements from array - new twist

It got me too (see Re: Re: Re: Re: random elements from array - new twist)... It's a matter of precedence. Have a look at how perl parses it:

perl -MO=Deparse,-p -e "$a = $_ + rand @{$r} - $_" ($a = ($_ + rand((@{$r;} - $_)))); ^^ ^^ -e syntax OK

The '- $_' is part of the argument to rand, not the assignment to $a.