@ = array
% = hash
$ = scalar (single value)
These are the 3 (main) var types in Perl.
Hence an array @arr1 has first element $arr1[0] because the element is a scalar.
What you are talking about is $x is a ref-to-array, each element is a ref-to-hash, so @y = array of hash-refs
Try reading this
http://perldoc.perl.org/perldsc.html and indeed bookmark the main site; it's full of good stuff
