or download this
then the left side must be either a hard or symbolic
reference to an array, a hash, or a subroutine respectively.
(Or technically speaking, alocation capable of holding a
...
subroutine reference, and the left side must be either an
object (a blessed reference) or a class name (that is, a
package name). See the perlobj manpage.