@ = array
% = hash
$ = scalar (single value)
These are the 3 (main) var types in Perl.
Hence an array @arr1 has first element $arr1 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