Perl Security: 6. When using objects, remember... Living with a patchy object implementation - Attributes and methods Avoid asking the user to directly set attributes - Create methods to take care of it. Attributes are a key-value pair in the hash that represents an object. They are called by $obj->{attr}, while methods are $obj->method() It is very common for your module's users to mistakenly call $obj->attr. It usually will just complain and die... But if you defined a method called attr (and it does not reflect/modify the attribute)... Well, hell can break loose.