tye, the original query was about OO perl. I mentioned that the idiom gets criticised. In the followup, I explained why in terms of OO practice. Allowing object methods to set class metadata is a bad thing because it allows things which should not interact to change each other's behavior.
I see no FUD in my statement of that: "class methods and instance methods should be distinct and disjoint". There is no fear there, and it seem a quite certain and undoubting statement. Is that what you really object to?
What do you mean by '.. no "do this instead"'? I gave two distinct strategies for avoiding the construct.
Are you trying to get me to suggest some new perl syntax to somehow make things alright? I won't do that. The syntax is not the issue. If you have use for ref($class) || $class, be my guest.
BTW, why wouldn't I name a constructor new? I usually do unless I call it frobozz or clone or connect.
Throughout this thread you've been putting words in my mouth. Please stop that.