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.