$foo->[0] is dereferencing an arrayref $foo->{bar} is dereferencing a hashref $foo->(@blah) is dereferencing (and invoking) a function-ref $foo->bar is calling the method "bar" that is defined in the class that $foo has been [bless]'ed into.