package Widget; use strict; use warnings; sub new { my ( $class, @args ) = ( shift, @_ ); my $self = {}; bless( $self, $class ); } #### { package Widget::Special; use parent 'Widget'; # We don't write a sub called `new` and rely on the parent class for that. } my $special = Widget::Special->new;