Taking a reference to an enumerated list is not the same as using square brackets--instead it's the same as creating a list of references! @list = (\$a, \@b, \%c); @list = \($a, @b, %c); # same thing! As a special case, `\(@foo)' returns a list of references to the contents of `@foo', not a reference to `@foo' itself. Likewise for `%foo', except that the key references are to copies (since the keys are just strings rather than full-fledged scalars).