in reply to Re^3: Language features affect style
in thread Language features affect style

Huh? $!salary is simply the name of the private storage area for the attribute. No calling involved, since the method already knows its own self, and whole point of $!salary is to tell the method it can access the storage directly rather than through a virtual method. The extra information is only necessary when calling something private in another object.