in reply to Re^2: can't modify anonymous hash ({}) in scalar assignment
in thread can't modify anonymous hash ({}) in scalar assignment

Comma Operator
    The "=>" operator is a synonym for the comma except that it causes its
    left operand to be interpreted as a string if it begins with a letter or
    underscore and is composed only of letters, digits and underscores.

The Arrow Operator
    ""->"" is an infix dereference operator, just as it is in C and C++. If
    the right side is either a "[...]", "{...}", or a "(...)" subscript,
    then the left side must be either a hard or symbolic reference to an
    array, a hash, or a subroutine respectively. (Or technically speaking, a
    location capable of holding a hard reference, if it's an array or hash
    reference being used for assignment.) See perlreftut and perlref.

    Otherwise, the right side is a method name or a simple scalar variable
    containing either the method name or 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 perlobj.
  • Comment on Re^3: can't modify anonymous hash ({}) in scalar assignment