http://www.perlmonks.org?node_id=942276


in reply to difference between @, $

I like choroba's answer, it's exactly the way it works. On a theoretical note:
* List/Array assignment: @list=('el1','el2','el3');
(Note, the parenthesis indicate that a regular array initialisation is being carried out.)
* Array Reference Assignment: $aref=['el1','el2','el3']
(Note, the scalar variable $aref is being assigned a reference to a list, enclosed in square brackets).

Enjoy!