in reply to Re^2: Using a factory class to return objects of the same class
in thread Using a factory class to return objects of the same class

since you even used the word "configure", why not make a class variable, and have the Configure sub set that variable (or just write it directly)? You would have to have a lot more protection/error-checking than in this example, but the proof-of-concept could be:

package MyClass; use warnings; use strict; our %Config; sub Configure { %Config = %{$_[0]}; } sub new { my $class = shift; my $self = {%Config}; my %args = @_; foreach (keys %args) { $self->{$_} = $args{$_}; } return bless $self, $class; } package main; use warnings; use strict; use Data::Dumper; MyClass::Configure( {group => 1, defined => 'values'}); my $x = MyClass->new(); my $y = MyClass->new(extra => 'here'); MyClass::Configure( {group => 2, defined => 0}); my $z = MyClass->new(third => 3); $/ = "\n"; print Dumper $_ for $x, $y, $z;