sub new { my ($class, $args) = @_; my $self = {}; bless ($self, $class); my ($attr_1, $attr_2) = $self->my_init($args); $self->{attr_1} = $attr_1; $self->{attr_2} = $attr_2; return $self; } sub my_init { my ($self, $args) = @_; # do stuff with $args; my $attr_1 = 1; my $attr_2 = 2; return ($attr_1, $attr_2); }