package HashBasedObject; sub new { my ($class, %arg) = @_; bless {%arg}, $class; } sub unblessed_copy { my $self = shift; return {%$self}; } 1;