http://www.perlmonks.org?node_id=301916


in reply to Re^2: A few Perl OOP questions. (disparaging)
in thread A few Perl OOP questions.

I dislike the idiom because it promotes ambiguous code. The author of  $obj->new(); hides something that the author of  (ref $obj)->new(); tells you.

Often it makes no real difference and the noise is about who is being forced to write code to accomodate someone else. I try to be more cooperative.

Usually I would write your new more like this.

sub new { my $class = shift( @_); croak "Bad class parameter" if not defined $class or ref $class; bless [@_], $class; }
Which gives a message like:

Bad class parameter at file.pl line 100

What is it that you find fine about the idiom?