in reply to Dereferencing Subroutine Arguments
in thread Re: Dereferencing Subroutine Arguments

The canonical form of a dereference is to take the normal form:
@FOO
and replace the word (here FOO) with a block returning the reference:
@{$a[0]}
Only when the braces enclose a simple scalar variable (like $x) can you drop the braces. You don't have a simple scalar here, so the braces must remain on.