a scalar is a LISP atom...the basic unit in Perl, and you get to it via a $.

An array is a collection of scalars. This is why you have to have a reference to have a list of lists.

Likewise a hash is a collection of keys, which have to be scalars (see the Tie module if you want it to be something else) to scalars.

A Perl reference merely is a scalar to something else (such as a scalar, array or hash).
    $scalarRef = \\$scalar
    $listRef = \\@list
    $hashRef = \\%hash

To access -
   $scalar = $$scalarRef
    @list = @$listRef
    $hashRef = %$hashRef (iirc)