Another mental tidbit: to prevent just this sort of confusion, Perl 6 makes sigils invariant, so that $array always dereferences $array and @array always deferences @array. (And in either case, slices arise naturally when you use multiple subscripts.)
in reply to What is the difference between $array and @array?
So in Perl 6, not only does @array not warn, but it's actually the correct form to dereference @array. The ramifications of this run deep, so I tend to doubt whether this feature will ever be backported to Perl 5, but you never know...