in reply to array ref notation

Another way to think about it is that @$foo is the shortened version of @{$foo}; the latter is needed if the expression gets more complex so you can tell Perl what the order of dereferencing is supposed to be. See Using References