in reply to Creating consructor new with empty $self

This notion doesn’t make any sense to me.   Anytime you use the classname -> method syntax, the first parameter to method will always be classname.   And, the constructor (new) must always initialize and return a blessed object-instance.

It is perfectly okay for the “blessed object” to be made from an empty-hash.   You do not have to have any instance-variables.