In the first case, you are assigning to an array @a. The first element of the array will be the reference to the anonymous array containing 4 values.
In the second case, you assign the reference directly to a scalar variable $a.
Or, as
SuicideJunkie put it in the CB: in the first case,
$a[0][2] == 3 and in the second case,
$a->[2] == 3