use Hash::Util qw/lock_keys/; my $self = $classname->SUPER::new( %options ); # Tk keys ||= in order to not overwrite already initialized keys $self->{ _ClassInit_ } ||= undef; $self->{ _Destroy } ||= undef; $self->{ _names_ } ||= undef; $self->{ _TkValue_ } ||= undef; $self->{ _XEvent_ } ||= undef; $self->{ __Images__ } ||= undef; # Local elements - those have not been defined yet $self->{ MyKey1 } = undef; $self->{ MyKey2 } = undef; lock_keys( %{ $self } );