in reply to Re^3: calling new inside the same module?
in thread calling new inside the same module?

__PACKAGE__->new() doesn't play as nicely with subclasses. ref($self)->new() is usually what you want.