in reply to Syntax for preventing repeat object initializations

That's not a method call, it's accessing a hash member through a reference. $self contains a member called '_init' which holds another hash reference.

That code simply increments a marker in that sub-hash. The key is the name of the current package (respecting inheritance). If _init() has already been called for the package, the key will already have been autovivified, and the value of the expression will be true.

Make sense?

  • Comment on Re: Syntax for preventing repeat object initializations